1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rexml/node.rb
ser 511dceec5c Issue11: null context causing indentation crash
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16 22:24:45 +00:00

40 lines
863 B
Ruby

require "rexml/parseexception"
module REXML
# Represents a node in the tree. Nodes are never encountered except as
# superclasses of other objects. Nodes have siblings.
module Node
# @return the next sibling (nil if unset)
def next_sibling_node
return nil if @parent.nil?
@parent[ @parent.index(self) + 1 ]
end
# @return the previous sibling (nil if unset)
def previous_sibling_node
return nil if @parent.nil?
ind = @parent.index(self)
return nil if ind == 0
@parent[ ind - 1 ]
end
def to_s indent=-1
rv = ""
write rv,indent
rv
end
def indent to, ind
if @parent and @parent.context and not @parent.context[:indentstyle].nil? then
indentstyle = @parent.context[:indentstyle]
else
indentstyle = ' '
end
to << indentstyle*ind unless ind<1
end
def parent?
false;
end
end
end