Module: Hyperdrive::Utils
- Defined in:
- lib/hyperdrive/utils.rb
Class Method Summary collapse
Class Method Details
.sanitize_keys(keys_to_keep, hash) ⇒ Object
5 6 7 8 9 |
# File 'lib/hyperdrive/utils.rb', line 5 def self.sanitize_keys(keys_to_keep, hash) Hash[hash.select do |key, value| keys_to_keep.include? key end] end |
.symbolize_keys(hash) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/hyperdrive/utils.rb', line 11 def self.symbolize_keys(hash) hash.inject({}) do |result, (key, value)| result.merge!(Hash[ case key when String then key.to_sym else key end, case value when Hash then symbolize_keys(value) when Array then value.map! { |v| v.is_a?(Hash) ? symbolize_keys(v) : v } ; value else value end ]) end end |