module ValueStruct::DupWithChanges
Public Instance Methods
dup(changes = {})
click to toggle source
# File lib/value_struct/dup_with_changes.rb, line 2 def dup(changes = {}) case changes when {} self.class.new(*values) when Hash self.class.new( *members.zip(values).map{ |member, value| if changes.has_key?(member) changes[member] else value end } ) else raise ArgumentError, 'dup must be given a Hash or nothing' end end