diff options
author | Florian Frank <flori@ping.de> | 2012-10-02 15:57:21 +0200 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2012-10-02 15:57:21 +0200 |
commit | 7fd0a67e8645bc20b2cec4f0a21029c5e03ce9ed (patch) | |
tree | f480da1f3bfb85a3a44e27ba9a1d9a6faa23f639 /lib | |
parent | 0d8c4b944ba49df57ffb69d81179d2ae949cd51d (diff) | |
download | json-7fd0a67e8645bc20b2cec4f0a21029c5e03ce9ed.tar.gz |
Add JSON::GenericObject.from_hashes
This method transforms hashes of hashes into GenericObject structures.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/json/generic_object.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/json/generic_object.rb b/lib/json/generic_object.rb index 7f3dbbd..636ea33 100644 --- a/lib/json/generic_object.rb +++ b/lib/json/generic_object.rb @@ -10,6 +10,18 @@ module JSON data.delete JSON.create_id self[data] end + + def from_hashes(hash) + result = new + hash.to_hash.each do |key, value| + if value.respond_to?(:to_hash) + result[key] = from_hashes(value) + else + result[key] = value + end + end + result + end end def to_hash |