class RubyEventStore::TransformKeys

Public Class Methods

stringify(data) click to toggle source
# File lib/ruby_event_store/transform_keys.rb, line 6
def stringify(data)
  deep_transform(data, &:to_s)
end
symbolize(data) click to toggle source
# File lib/ruby_event_store/transform_keys.rb, line 10
def symbolize(data)
  deep_transform(data, &:to_sym)
end

Private Class Methods

deep_transform(data) { |key| ... } click to toggle source
# File lib/ruby_event_store/transform_keys.rb, line 16
def deep_transform(data, &block)
  case data
  when Hash
    data.each_with_object({}) do |(key, value), hash|
      hash[yield(key)] = deep_transform(value, &block)
    end
  when Array
    data.map { |i| deep_transform(i, &block) }
  else
    data
  end
end