houdini/lib/format/format/remove_diacritics.rb
2020-06-15 10:26:57 -05:00

16 lines
584 B
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
require 'i18n'
module Format
module RemoveDiacritics
def self.from_hash(hash, keys)
# returns a new hash with any diacritics replaced with a plain character
# only from values corresponding to specified keys:
# {"city" => "São Paulo"} ["city"] will return {"city" => "Sao Paulo"}
Hash[hash.map { |k, v| [k, (keys.include? k) ? I18n.transliterate(v) : v] }]
end
end
end