class Strum::Json::DeepKeysToSym

Public Instance Methods

audit() click to toggle source
# File lib/strum/json/deep_keys_to_sym.rb, line 15
def audit
  required
end
call() click to toggle source
# File lib/strum/json/deep_keys_to_sym.rb, line 11
def call
  output(deep_transform_keys(input))
end

Private Instance Methods

deep_transform_keys(hash) click to toggle source
# File lib/strum/json/deep_keys_to_sym.rb, line 21
def deep_transform_keys(hash)
  return hash unless hash.is_a?(Hash)

  hash.each_with_object({}) do |(key, value), result|
    result[inflector.underscore(key).to_sym] = deep_transform_keys(value)
  end
end
inflector() click to toggle source
# File lib/strum/json/deep_keys_to_sym.rb, line 29
def inflector
  @inflector ||= Dry::Inflector.new
end