コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Rubyでハッシュのキーを全てローワーキャメルに変換する

すべてのキーをローワーキャメルに変換したいときってあったりなかったりするのでメモ

コード

  # hashのキーを全てlowerCamelに変換する
  # @param [Hash] hash 変換元のハッシュ
  # @return [Hash] 変換後のハッシュ
  def lower_camel_key_hash(hash)
    hash.each_with_object({}) do |(k, v), new_hash|
      lower_key = k.to_s.camelize(:lower)
      new_hash[lower_key] = v.is_a?(Hash) ? lower_camel_key_hash(v) : v
    end
  end

参考サイト