diff options
| author | Bill Cromie <bill@cromie.org> | 2013-02-26 17:04:56 -0500 |
|---|---|---|
| committer | Bill Cromie <bill@cromie.org> | 2013-02-26 17:04:56 -0500 |
| commit | 0a46fe360afb8b7dcd92d42aaa3177940d25c81b (patch) | |
| tree | 156ce2f81a8238e189ea400befe06dd09f787e04 /lib/hashie/hash.rb | |
| parent | 328cf56de6c39ffea06770207f21ea722b9497a0 (diff) | |
| download | hashie-0a46fe360afb8b7dcd92d42aaa3177940d25c81b.tar.gz | |
reinstating symbolize keys in the to_hash method.
Diffstat (limited to 'lib/hashie/hash.rb')
| -rw-r--r-- | lib/hashie/hash.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/hashie/hash.rb b/lib/hashie/hash.rb index 3a6ad52..c36bb91 100644 --- a/lib/hashie/hash.rb +++ b/lib/hashie/hash.rb @@ -8,15 +8,17 @@ module Hashie include HashExtensions # Converts a mash back to a hash (with stringified keys) - def to_hash + def to_hash(options={}) out = {} keys.each do |k| if self[k].is_a?(Array) + k = options[:symbolize_keys] ? k.to_sym : k.to_s out[k] ||= [] self[k].each do |array_object| out[k] << (Hash === array_object ? array_object.to_hash : array_object) end else + k = options[:symbolize_keys] ? k.to_sym : k.to_s out[k] = Hash === self[k] ? self[k].to_hash : self[k] end end |
