diff options
Diffstat (limited to 'lib/hashie/extensions/indifferent_access.rb')
-rw-r--r-- | lib/hashie/extensions/indifferent_access.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/hashie/extensions/indifferent_access.rb b/lib/hashie/extensions/indifferent_access.rb index ebdb0f9..d6b9da3 100644 --- a/lib/hashie/extensions/indifferent_access.rb +++ b/lib/hashie/extensions/indifferent_access.rb @@ -143,6 +143,18 @@ module Hashie super.convert! end + def to_hash + {}.tap do |result| + each_pair { |key, value| result[key] = value } + + if default_proc + result.default_proc = default_proc + else + result.default = default + end + end + end + with_minimum_ruby('2.5.0') do def slice(*keys) string_keys = keys.map { |key| convert_key(key) } |