class BN::Middleware::KeyConverter
Recursively convert all keys in a Hash from camelCase or dashed-delimited Strings into underscore_delimited Symbols.
Public Instance Methods
execute(value)
click to toggle source
Execute the middleware.
@param [#to_h] value @return [Hash]
# File lib/bn/middleware/key_converter.rb, line 11 def execute(value) convert_keys(value.to_h) end
Protected Instance Methods
convert_keys(data)
click to toggle source
# File lib/bn/middleware/key_converter.rb, line 17 def convert_keys(data) data.keys.each do |key| value = data.delete(key) value = convert_keys(value) if value.is_a?(Hash) key = key.gsub(/([a-z\d])([A-Z])/, "\1_\2").tr("-", "_").downcase.to_sym data[key] = value end end