module Pupa::Concerns::IndifferentAccess
Adds private methods for changing hash keys to strings or symbols.
Private Instance Methods
stringify_keys(object)
click to toggle source
# File lib/pupa/models/concerns/indifferent_access.rb, line 30 def stringify_keys(object) transform_keys(object, :to_s) end
symbolize_keys(object)
click to toggle source
# File lib/pupa/models/concerns/indifferent_access.rb, line 26 def symbolize_keys(object) transform_keys(object, :to_sym) end
transform_keys(object, meth)
click to toggle source
# File lib/pupa/models/concerns/indifferent_access.rb, line 9 def transform_keys(object, meth) case object when Hash {}.tap do |hash| object.each do |key,value| hash[key.send(meth)] = transform_keys(value, meth) end end when Array object.map do |value| transform_keys(value, meth) end else object end end