class DSeL::Node

Attributes

parent[R]

@return [Base, nil]

root[R]

@return [Base]

`self` if {#root?}.
subject[R]

@return [Object]

Public Class Methods

new( subject = nil, options = {} ) click to toggle source

@param [Object] subject @param [Hash] options @option options [Base, nil] :parent (nil)

# File lib/dsel/node.rb, line 17
def initialize( subject = nil, options = {} )
    @subject = subject
    @parent  = options[:parent]
    @root    = (@parent ? @parent._dsel_node.root : self)
end

Public Instance Methods

_dsel_node() click to toggle source

@private

# File lib/dsel/node.rb, line 28
def _dsel_node
    self
end
calc_node_hash( subject ) click to toggle source
# File lib/dsel/node.rb, line 32
def calc_node_hash( subject )
    "#{self.class}:#{subject.object_id}".hash
end
hash() click to toggle source
# File lib/dsel/node.rb, line 36
def hash
    calc_node_hash( @subject )
end
root?() click to toggle source
# File lib/dsel/node.rb, line 23
def root?
    @root == self
end