class Torasup::PhoneNumber

Attributes

area_code[R]
country_code[R]
country_id[R]
local_number[R]
location[R]
number[R]
operator[R]
prefix[R]

Public Class Methods

new(phone_number) click to toggle source
# File lib/torasup/phone_number.rb, line 8
def initialize(phone_number)
  parse_phone_number(phone_number)
end

Public Instance Methods

type() click to toggle source
# File lib/torasup/phone_number.rb, line 12
def type
  operator && operator.type
end

Private Instance Methods

parse_phone_number(number) click to toggle source
# File lib/torasup/phone_number.rb, line 18
def parse_phone_number(number)
  raise "Not a vaild number" unless Phony.plausible?(number)

  @number = Phony.normalize(number)
  number_parts = split_number
  @country_code = number_parts.shift
  @country_id = Torasup.country_id(@country_code)
  area_code_or_prefix = number_parts.shift
  local_number = number_parts.join
  @location = Location.new(@country_id, area_code_or_prefix)
  @area_code = @location.area_code
  @operator = Operator.new(@country_code, area_code_or_prefix, local_number)
  @prefix = @operator.prefix
  @local_number = operator.local_number
end
split_number() click to toggle source
# File lib/torasup/phone_number.rb, line 34
def split_number
  Phony.split(@number).reject { |part| part == false }
end