Class: REXML::Child
- Includes:
- Node
- Defined in:
- lib/extensions/rexml/rexml/child.rb,
lib/extensions/rhoxml/rexml/child.rb
Overview
A Child object is something contained by a parent, and this class contains methods to support that. Most user code will not use this class directly.
Direct Known Subclasses
AttlistDecl, Comment, DTD::AttlistDecl, DTD::ElementDecl, DTD::EntityDecl, DTD::NotationDecl, Declaration, Entity, ExternalEntity, Instruction, NotationDecl, Parent, Text, XMLDecl
Instance Attribute Summary collapse
-
#parent ⇒ Object
The Parent of this object.
Instance Method Summary collapse
-
#bytes ⇒ Object
This doesn’t yet handle encodings.
-
#document ⇒ Object
- Returns
-
the document this child belongs to, or nil if this child belongs to no document.
-
#initialize(parent = nil) ⇒ Child
constructor
Constructor.
-
#next_sibling=(other) ⇒ Object
Sets the next sibling of this child.
-
#previous_sibling=(other) ⇒ Object
Sets the previous sibling of this child.
-
#remove ⇒ Object
Removes this child from the parent.
-
#replace_with(child) ⇒ Object
Replaces this object with another object.
Methods included from Node
#each_recursive, #find_first_recursive, #indent, #index_in_parent, #next_sibling_node, #parent?, #previous_sibling_node, #to_s
Constructor Details
#initialize(parent = nil) ⇒ Child
Constructor. Any inheritors of this class should call super to make sure this method is called.
- parent
-
if supplied, the parent of this child will be set to the supplied value, and self will be added to the parent
17 18 19 20 21 22 |
# File 'lib/extensions/rexml/rexml/child.rb', line 17 def initialize( parent = nil ) @parent = nil # Declare @parent, but don't define it. The next line sets the # parent. parent.add( self ) if parent end |
Instance Attribute Details
#parent ⇒ Object
The Parent of this object
10 11 12 |
# File 'lib/extensions/rexml/rexml/child.rb', line 10 def parent @parent end |
Instance Method Details
#bytes ⇒ Object
This doesn’t yet handle encodings
90 91 92 93 94 |
# File 'lib/extensions/rexml/rexml/child.rb', line 90 def bytes encoding = document.encoding to_s end |
#document ⇒ Object
- Returns
-
the document this child belongs to, or nil if this child
belongs to no document
84 85 86 87 |
# File 'lib/extensions/rexml/rexml/child.rb', line 84 def document return parent.document unless parent.nil? nil end |
#next_sibling=(other) ⇒ Object
67 68 69 |
# File 'lib/extensions/rexml/rexml/child.rb', line 67 def next_sibling=( other ) parent.insert_after self, other end |
#previous_sibling=(other) ⇒ Object
78 79 80 |
# File 'lib/extensions/rexml/rexml/child.rb', line 78 def previous_sibling=(other) parent.insert_before self, other end |
#remove ⇒ Object
Removes this child from the parent.
- Returns
-
self
36 37 38 39 40 41 |
# File 'lib/extensions/rexml/rexml/child.rb', line 36 def remove unless @parent.nil? @parent.delete self end self end |
#replace_with(child) ⇒ Object
Replaces this object with another object. Basically, calls Parent.replace_child
- Returns
-
self
28 29 30 31 |
# File 'lib/extensions/rexml/rexml/child.rb', line 28 def replace_with( child ) @parent.replace_child( self, child ) self end |