summaryrefslogtreecommitdiff
path: root/lib/leap_cli/core_ext/hash.rb
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2016-07-09 02:45:23 -0700
committerelijah <elijah@riseup.net>2016-07-20 11:29:35 -0700
commita8efdb865dbea99e619c0353d707da39118e6e28 (patch)
treee128d00d28a676b8d2c736059578ec72217adc30 /lib/leap_cli/core_ext/hash.rb
parent7571e0ecb1ffea65df4498cf002c78c170905df8 (diff)
test: added test of quick start tutorial commands
Diffstat (limited to 'lib/leap_cli/core_ext/hash.rb')
-rw-r--r--lib/leap_cli/core_ext/hash.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/leap_cli/core_ext/hash.rb b/lib/leap_cli/core_ext/hash.rb
index 7df33b2..4eb3af3 100644
--- a/lib/leap_cli/core_ext/hash.rb
+++ b/lib/leap_cli/core_ext/hash.rb
@@ -32,4 +32,23 @@ class Hash
replace(deep_merge(other_hash))
end
+ #
+ # A recursive symbolize_keys
+ #
+ unless Hash.method_defined?(:symbolize_keys)
+ def symbolize_keys
+ self.inject({}) {|result, (key, value)|
+ new_key = case key
+ when String then key.to_sym
+ else key
+ end
+ new_value = case value
+ when Hash then symbolize_keys(value)
+ else value
+ end
+ result[new_key] = new_value
+ result
+ }
+ end
+ end
end