summaryrefslogtreecommitdiff
path: root/lib/json/generic_object.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/json/generic_object.rb')
-rw-r--r--lib/json/generic_object.rb12
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