Sha256: 7379968d874c2c9be37f7130fb1e02d468a4e2efd3ae5c476c1e643014a6b741
Contents?: true
Size: 995 Bytes
Versions: 2
Compression:
Stored size: 995 Bytes
Contents
require 'i18n' require 'active_support/core_ext/module/attribute_accessors' require 'active_support/inflector/transliterate' require 'fonetica/core_ext/string' module Fonetica extend self mattr_accessor :replacements, :instance_writer => false self.replacements = [ ['Y', 'I'], [/BR|BL/, 'B'], ['PH', 'F'], [/MG|NG|RG/, 'G'], [/GE|GI|RJ|MJ|NJ/, 'J'], [/GR|GL/, 'G'], [/CE|CI|CH/, 'S'], [/PT|CT/, 'T'], ['CS', 'S'], [/Q|C|CA|CO|CU|CK/, 'K'], ['LH', 'L'], ['RM', 'SM'], ['N', 'M'], [/MD|GM|AO\b/, 'M'], ['NH', 'N'], ['PR', 'P'], [/X|TS|C|Z|RS/, 'S'], [/TR|TL/, 'T'], [/LT|RT|ST/, 'T'], ['W', 'V'], [/[SZRMNL]\b/, ''], ['L', 'R'], [/[AEIOUH]/, ''] ] def foneticalize(word) result = word.to_s.gsub(/รง/i, 's') result = I18n.transliterate(result).upcase replacements.each do |search, replace| result.gsub!(search, replace) end result.squeeze end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fonetica-0.3.1 | lib/fonetica.rb |
fonetica-0.3.0 | lib/fonetica.rb |