class Phony::NationalCode

NationalCodes have a special numbers splitter, a national code splitter and a local code splitter.

Attributes

local_splitter[R]

Public Class Methods

new(national_splitter, local_splitter) click to toggle source
# File lib/phony/national_code.rb, line 11
def initialize national_splitter, local_splitter
  @national_splitter = national_splitter
  @local_splitter    = local_splitter
end

Public Instance Methods

normalize(national_number) click to toggle source

Split gets a number without country code and removes a relative zero.

Note: Some cases, like Italy, don’t remove the relative zero.

# File lib/phony/national_code.rb, line 29
def normalize national_number
  national_number.gsub(/\A0+/, EMPTY_STRING)
end
split(national_number) click to toggle source

Split gets a number without country code and splits it into its parts.

# File lib/phony/national_code.rb, line 19
def split national_number
  zero, ndc_or_rest, rest = @national_splitter.split national_number.dup
  return [zero, ndc_or_rest] unless rest
  [zero, ndc_or_rest, *@local_splitter.split(rest)]
end