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