class Fable::Pointer
Attributes
container[RW]
index[RW]
Public Class Methods
new(container, index)
click to toggle source
# File lib/fable/pointer.rb, line 13 def initialize(container, index) self.container = container self.index = index end
null_pointer()
click to toggle source
# File lib/fable/pointer.rb, line 9 def self.null_pointer self.new(nil, -1) end
start_of(container)
click to toggle source
# File lib/fable/pointer.rb, line 5 def self.start_of(container) self.new(container, 0) end
Public Instance Methods
clone()
click to toggle source
# File lib/fable/pointer.rb, line 25 def clone self.class.new(self.container, self.index) end
null_pointer?()
click to toggle source
# File lib/fable/pointer.rb, line 29 def null_pointer? container.nil? end
path()
click to toggle source
# File lib/fable/pointer.rb, line 33 def path return nil if null_pointer? if index > 0 return container.path.path_by_appending_component(index) else return container.path end end
resolve!()
click to toggle source
# File lib/fable/pointer.rb, line 18 def resolve! return container if index < 0 return nil if container.nil? return container if container.content.empty? return container.content[index] end