Class: REXML::Child
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
 
      18 19 20 21 22 23  | 
    
      # File 'lib/rexml/child.rb', line 18 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
      11 12 13  | 
    
      # File 'lib/rexml/child.rb', line 11 def parent @parent end  | 
  
Instance Method Details
#bytes ⇒ Object
This doesn’t yet handle encodings
      91 92 93 94 95  | 
    
      # File 'lib/rexml/child.rb', line 91 def bytes document.encoding to_s end  | 
  
#document ⇒ Object
- Returns
 - 
the document this child belongs to, or nil if this child
 
belongs to no document
      85 86 87 88  | 
    
      # File 'lib/rexml/child.rb', line 85 def document return parent.document unless parent.nil? nil end  | 
  
#next_sibling=(other) ⇒ Object
      68 69 70  | 
    
      # File 'lib/rexml/child.rb', line 68 def next_sibling=( other ) parent.insert_after self, other end  | 
  
#previous_sibling=(other) ⇒ Object
      79 80 81  | 
    
      # File 'lib/rexml/child.rb', line 79 def previous_sibling=(other) parent.insert_before self, other end  | 
  
#remove ⇒ Object
Removes this child from the parent.
- Returns
 - 
self
 
      37 38 39 40 41 42  | 
    
      # File 'lib/rexml/child.rb', line 37 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
 
      29 30 31 32  | 
    
      # File 'lib/rexml/child.rb', line 29 def replace_with( child ) @parent.replace_child( self, child ) self end  |