class String

Constants

NATOALPHA
NATODIGITS

Public Instance Methods

to_nato() click to toggle source

Returns a NATO alphabet version of the string

# File lib/passmakr.rb, line 315
def to_nato
    result = nil

    # for strings we call ourself recursively for each char to build up the eventual string
    if self.size > 1
        result = self.split("").map {|c| c.to_nato }.join(" ")
    else
        ansi = self.bytes.first

        if ansi >= 65 && ansi <= 90
            result = NATOALPHA[ansi-65].capitalize
        elsif ansi >= 97 && ansi <= 122
            result = NATOALPHA[ansi-97]
        elsif ansi >= 48 && ansi <= 57
            result = NATODIGITS[ansi-48]
        else
            result = self
        end
    end

    result
end