Module: Hyperdrive::Utils
- Defined in:
- lib/hyperdrive/utils.rb
Class Method Summary collapse
- .enforce_charset!(charset, params) ⇒ Object
- .sanitize_keys(keys_to_keep, hash) ⇒ Object
- .symbolize_keys(hash) ⇒ Object
Class Method Details
.enforce_charset!(charset, params) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/hyperdrive/utils.rb', line 27 def self.enforce_charset!(charset, params) encoding = find_encoding(charset) raise Hyperdrive::Errors::NotAcceptable.new(charset.value) unless encoding.is_a? Encoding params.each_value do |value| value.encode!(encoding) if value.is_a? String end end |
.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 |