Sha256: b41abb4480486e285f48c2988526fc51e28f032e72b338faa4f3c5569420deb2

Contents?: true

Size: 396 Bytes

Versions: 7

Compression:

Stored size: 396 Bytes

Contents

# frozen_string_literal: true

module ActiveSerialize
  module KeyFormatter
    def self.call(config, hash)
      return hash unless config.present?
      hash.deep_transform_keys! do |k, _|
        case config.to_sym
        when :underscore; k.underscore
        when :camelize; k.camelize
        when :camelize_lower; k.camelize(:lower)
        else k
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
active_serialize-2.5.2 lib/active_serialize/key_formatter.rb
active_serialize-2.5.1 lib/active_serialize/key_formatter.rb
active_serialize-2.5.0 lib/active_serialize/key_formatter.rb
active_serialize-2.4.2 lib/active_serialize/key_formatter.rb
active_serialize-2.4.0 lib/active_serialize/key_formatter.rb
active_serialize-2.3.0 lib/active_serialize/key_formatter.rb
active_serialize-2.2.0 lib/active_serialize/key_formatter.rb