lib/map.rb in map-1.2.5 vs lib/map.rb in map-1.2.6

- old
+ new

@@ -1,7 +1,7 @@ class Map < Hash - Version = '1.2.5' unless defined?(Version) + Version = '1.2.6' unless defined?(Version) Load = Kernel.method(:load) unless defined?(Load) class << Map def version Map::Version @@ -380,10 +380,29 @@ end hash end def to_yaml(*args, &block) - to_hash.to_yaml(*args, &block) + as_hash{ super } + end + + def to_json(*args, &block) + as_hash{ super } + end + + def as_json(*args, &block) + as_hash{ super } + end + + def as_hash + @class = Hash + yield + ensure + @class = nil + end + + def class + @class || super end def to_array array = [] each{|*pair| array.push(pair)}