Sha256: d58c7b7d3c4c87200a10fb43c383064f69c1591834038c921a4fd8da0576e5aa

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require "phonetic_alphabet/version"

module PhoneticAlphabet

  module StringInstanceMethods
    def to_p
      PhoneticAlphabet.translate(self)
    end

    def each_char
      self.split("").each { |i| yield i }
    end
  end

  HASH = { 'A' => 'Alfa',    'B' => 'Bravo',
           'C' => 'Charlie', 'D' => 'Delta',
           'E' => 'Echo',    'F' => 'Foxtrot',
           'G' => 'Golf',    'H' => 'Hotel',
           'I' => 'India',   'J' => 'Juliett',
           'K' => 'Kilo',    'L' => 'Lima',
           'M' => 'Mike',    'N' => 'November',
           'O' => 'Oscar',   'P' => 'Papa',
           'Q' => 'Quebec',  'R' => 'Romeo',
           'S' => 'Sierra',  'T' => 'Tango',
           'U' => 'Uniform', 'V' => 'Victor',
           'W' => 'Whiskey', 'X' => 'X-ray',
           'Y' => 'Yankee',  'Z' => 'Zulu',
           '0' => 'Zero',    '1' => 'One',
           '2' => 'Two',     '3' => 'Three',
           '4' => 'Four',    '5' => 'Five',
           '6' => 'Six',     '7' => 'Seven',
           '8' => 'Eight',   '9' => 'Niner' }

  def self.translate(string)
    ret = ''
    string.each_char do |c|
      ret += "#{HASH[c.upcase]} "
    end
    ret.chop
  end
end

String.send :include, PhoneticAlphabet::StringInstanceMethods

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
phonetic_alphabet-0.1.0 lib/phonetic_alphabet.rb