lib/map.rb in map-2.4.1 vs lib/map.rb in map-2.4.2

- old
+ new

@@ -1,7 +1,7 @@ class Map < Hash - Version = '2.4.1' unless defined?(Version) + Version = '2.4.2' unless defined?(Version) Load = Kernel.method(:load) unless defined?(Load) class << Map def version Map::Version @@ -246,18 +246,21 @@ end # maps are aggressive with copy operations. they are all deep copies. make a # new one if you really want a shallow copy # +# TODO - fallback to shallow if objects cannot be marshal'd.... def copy default = self.default self.default = nil - copy = Marshal.load(Marshal.dump(self)) + copy = Marshal.load(Marshal.dump(self)) rescue Dup.bind(self).call() copy.default = default copy ensure self.default = default end + + Dup = instance_method(:dup) def dup copy end