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)}