Class: PhoneticEncoder::Encoder

Inherits:
Object
  • Object
show all
Defined in:
lib/phonetic_encoder.rb

Overview

To go here

Class Method Summary collapse

Class Method Details

.custom(name, dict) ⇒ Object



21
22
23
# File 'lib/phonetic_encoder.rb', line 21

def self.custom(name, dict)
    $dict[name] = dict
end

.encode(text, dict_name = 'nato') ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/phonetic_encoder.rb', line 29

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) ⇒ Object



25
26
27
# File 'lib/phonetic_encoder.rb', line 25

def self.letter_from_dictionary(letter, dict)
    dict.key?(letter) ? dict[letter].downcase : letter
end

.setupObject



16
17
18
19
# File 'lib/phonetic_encoder.rb', line 16

def self.setup
    $dict['nato'] = NATO
    $dict['sounds'] = SOUNDS
end