module I18n::Backend::Flatten

Public Instance Methods

nest_translations(hash) click to toggle source

Nest keys for flatten (dotted) hashes

IN:  { "hello.world" => "hello world" }
OUT: { :hello => { :world => "hello world" } }
# File lib/exvo_globalize/backend/flatten.rb, line 8
def nest_translations(hash)
  hash.map do |main_key, main_value|
    main_key.to_s.split(".").reverse.inject(main_value) do |value, key|
      if value.is_a?(Hash)
        { key.to_sym => nest_translations(value) }
      else
        { key.to_sym => value }
      end
    end
  end.inject(&:deep_merge)
end