diff options
author | elijah <elijah@riseup.net> | 2016-07-09 02:45:23 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2016-07-20 11:29:35 -0700 |
commit | a8efdb865dbea99e619c0353d707da39118e6e28 (patch) | |
tree | e128d00d28a676b8d2c736059578ec72217adc30 /lib/leap_cli/core_ext/hash.rb | |
parent | 7571e0ecb1ffea65df4498cf002c78c170905df8 (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.rb | 19 |
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 |