class RemoteRecord::Transformers::SnakeCase

Converts keys to snake case.

Public Instance Methods

transform() click to toggle source
# File lib/remote_record/transformers/snake_case.rb, line 7
def transform
  convert_hash_keys(@data)
end

Private Instance Methods

convert_hash_keys(value) click to toggle source
# File lib/remote_record/transformers/snake_case.rb, line 13
def convert_hash_keys(value)
  case value
  when Array
    value.map { |v| convert_hash_keys(v) }
  when Hash
    Hash[value.map { |k, v| [transform_key(k), convert_hash_keys(v)] }]
  else
    value
  end
end
transform_key(key) click to toggle source
# File lib/remote_record/transformers/snake_case.rb, line 24
def transform_key(key)
  case @direction
  when :up
    key.to_s.underscore.to_sym
  when :down
    key.to_s.camelize(:lower).to_sym
  end
end