Module: ValueStruct::DupWithChanges
- Defined in:
- lib/value_struct/dup_with_changes.rb
Instance Method Summary collapse
Instance Method Details
#dup(changes = {}) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/value_struct/dup_with_changes.rb', line 2 def dup(changes = {}) case changes when {} new(values) when Hash new( members.zip(values).map{ |member, value| if changes.has_key?(m) changes[m] else value end } ) else raise ArgumentError, 'dup must be given a Hash or nothing' end end |