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



23
24
25
# File 'lib/phonetic_encoder.rb', line 23

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

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



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 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) ⇒ Object



27
28
29
# File 'lib/phonetic_encoder.rb', line 27

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

.setupObject



18
19
20
21
# File 'lib/phonetic_encoder.rb', line 18

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