Method: ImmutableSet::SetChange#initialize
- Defined in:
- lib/values/immutable_set.rb
#initialize(values, set, add, set_change) ⇒ SetChange
Returns a new instance of SetChange.
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/values/immutable_set.rb', line 126 def initialize values,set,add,set_change raise "set must be supplied" unless set raise "values must be supplied" unless values @values = values @set = set @add = add @set_change = set_change @depth = 0 if set_change # We need to unrole when we have a depth of more than 500 so that we dont couse a SystemStackError if set_change.depth > 4000 @set_change = nil @set = set_change.unrole else @depth = set_change.depth + 1 end end end |