module ParamsCollector::Marshaler::DeepSymbolizeKeys

Public Instance Methods

symbolize(data) click to toggle source
# File lib/params_collector/marshaler/deep_symbolize_keys.rb, line 23
def symbolize(data)
  if data.is_a?(Hash)
    build_symbolized_hash(data)
  elsif data.is_a?(Array)
    build_symbolized_array(data)
  else
    data
  end
end

Private Instance Methods

build_symbolized_array(data) click to toggle source
# File lib/params_collector/marshaler/deep_symbolize_keys.rb, line 42
def build_symbolized_array(data)
  data.each_with_object([]) do |v, memo|
    memo << symbolize(v)
    memo
  end
end
build_symbolized_hash(data) click to toggle source
# File lib/params_collector/marshaler/deep_symbolize_keys.rb, line 35
def build_symbolized_hash(data)
  data.each_with_object({}) do |(k, v), memo|
    memo[k.to_sym] = symbolize(v)
    memo
  end
end