class EacRubyUtils::Immutable::BaseAccessor
Public Instance Methods
duplicate_object(object) { |immutable_value_get(object)| ... }
click to toggle source
# File lib/eac_ruby_utils/immutable/base_accessor.rb, line 10 def duplicate_object(object) accessor_new_value = yield(immutable_value_get(object)) new_values = object.send(:immutable_values_get).merge(name => accessor_new_value) r = object.class.new(*object.immutable_constructor_args) r.send(:immutable_values_set, new_values) r end
immutable_value_get(object)
click to toggle source
# File lib/eac_ruby_utils/immutable/base_accessor.rb, line 18 def immutable_value_get(object) object.send(:immutable_values_get)[name] end