Sha256: 460619936a7ee561cae27155504d25a272109e36a067929f036abd4bbe5f8008

Contents?: true

Size: 895 Bytes

Versions: 5

Compression:

Stored size: 895 Bytes

Contents

# encoding: utf-8

module Faker
  module NatoAlphabet
    extend ModuleUtils
    extend self

    ALPHABET_CODES = %w(ALPHA BRAVO CHARLIE DELTA ECHO FOXTROT GOLF HOTEL INDIA JULIETT KILO LIMA MIKE NOVEMBER OSCAR PAPA QUEBEC ROMEO SIERRA TANGO UNIFORM VICTOR WHISKEY XRAY YANKEE ZULU)
    NUMERIC_CODES = %w(ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE ZERO)
    STOP_CODE = "STOP"
    CODES = ALPHABET_CODES + NUMERIC_CODES + [STOP_CODE]

    def code
      CODES.sample
    end

    def alphabetic_code
      ALPHABET_CODES.sample
    end

    def numeric_code
      NUMERIC_CODES.sample
    end

    def callsign
      codify("?-?-#")
    end

    def codify(masks)
      masks.scan(/./).map do |c|
        case c
        when "#" then NUMERIC_CODES.sample
        when "?" then ALPHABET_CODES.sample
        when "." then STOP_CODE
        else c
        end
      end.join
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
solidus_backend-1.0.0.pre3 vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/nato_alphabet.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/nato_alphabet.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/nato_alphabet.rb
ffaker-1.32.1 lib/ffaker/nato_alphabet.rb
ffaker-1.32.0 lib/ffaker/nato_alphabet.rb