class PhoneticEncoder::Encoder

To go here

Public Class Methods

custom(name, dict) click to toggle source
# File lib/phonetic_encoder.rb, line 23
def self.custom(name, dict)
    $dict[name] = dict
end
encode(text, dict_name = 'nato') click to toggle source
# File lib/phonetic_encoder.rb, line 31
def self.encode(text, dict_name = 'nato')
    setup

    dict_name = 'nato' if dict_name.empty?

    return text unless $dict.key?(dict_name)

    result = ''

    text.downcase.split('').each do |letter|
        result += format('%<word>s ', word: letter_from_dictionary(letter, $dict[dict_name]))
    end
    result.rstrip
end
letter_from_dictionary(letter, dict) click to toggle source
# File lib/phonetic_encoder.rb, line 27
def self.letter_from_dictionary(letter, dict)
    dict.key?(letter) ? dict[letter].downcase : letter
end
setup() click to toggle source
# File lib/phonetic_encoder.rb, line 18
def self.setup
    $dict['nato'] = NATO
    $dict['sounds'] = SOUNDS
end