class Sequence::OfObjectIvars
Public Class Methods
new(obj,exceptions=[],modifiable=false)
click to toggle source
# File lib/sequence/ofobjectivars.rb, line 9 def initialize(obj,exceptions=[],modifiable=false) @obj=obj ivars=obj.instance_variables - exceptions @data=ivars.inject([]){|l,name| l.push name,obj.instance_variable_get(name)} @data.freeze unless modifiable end
Public Instance Methods
modify(*args)
click to toggle source
# File lib/sequence/ofobjectivars.rb, line 16 def modify(*args) repldata=args.pop start,len,only1=_parse_slice_args(*args) len==1 or raise "scalar modifications to objects only!" assert start.%(2).nonzero? #not a name @obj.instance_variable_set(@data[start-1],repldata.first) @data[start]=repldata.first repldata end