Class: Ron::GraphEdge
Overview
represents an edge along the ruby object graph. (Container and position within it.)
Direct Known Subclasses
Array, BracketsKey, BracketsValue, HashDefaultKey, HashDefaultValue, HashKey, HashValue, ObjectIvarValue, ObjectMethValue, ObjectName, SetMember, TopLevel
Defined Under Namespace
Classes: Array, BracketsKey, BracketsValue, ContextWasRecycled, HashDefaultKey, HashDefaultValue, HashKey, HashValue, ObjectIvarValue, ObjectMethValue, ObjectName, ReplaceAtTopLevel, SetMember, TopLevel
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#index ⇒ Object
readonly
Returns the value of attribute index.
-
#len ⇒ Object
readonly
Returns the value of attribute len.
Instance Method Summary collapse
- #call ⇒ Object
-
#context_type ⇒ Object
def new_value_set!(&nv) @newval_code=nv end.
-
#initialize(context, index, len = 1, &newval_code) ⇒ GraphEdge
constructor
A new instance of GraphEdge.
-
#new_value ⇒ Object
def context_died @context=nil end.
Constructor Details
#initialize(context, index, len = 1, &newval_code) ⇒ GraphEdge
Returns a new instance of GraphEdge.
215 216 217 218 219 |
# File 'lib/ron/graphedge.rb', line 215 def initialize(context,index,len=1,&newval_code) len>=0 or raise ArgumentError @context,@index,@len,@newval_code=context,index,len,newval_code fail unless @context end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
220 221 222 |
# File 'lib/ron/graphedge.rb', line 220 def context @context end |
#index ⇒ Object (readonly)
Returns the value of attribute index.
220 221 222 |
# File 'lib/ron/graphedge.rb', line 220 def index @index end |
#len ⇒ Object (readonly)
Returns the value of attribute len.
220 221 222 |
# File 'lib/ron/graphedge.rb', line 220 def len @len end |
Instance Method Details
#call ⇒ Object
225 |
# File 'lib/ron/graphedge.rb', line 225 def call; replace; end |
#context_type ⇒ Object
def new_value_set!(&nv) @newval_code=nv end
223 |
# File 'lib/ron/graphedge.rb', line 223 def context_type; self.class end |
#new_value ⇒ Object
def context_died
@context=nil
end
231 232 233 |
# File 'lib/ron/graphedge.rb', line 231 def new_value @newval_code[self] end |