Sha256: 93bc815b60d196a77f0066ccee459fbb9c642cfc86a1300ee3c09a780c9b8391
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
module Torasup class Operator attr_accessor :prefix, :local_number, :area_code, :country_code def initialize(country_code, area_code_or_prefix, unresolved_local_number) @country_code = country_code parse_phone_number(area_code_or_prefix, unresolved_local_number) end def method_missing(method) Torasup.prefix_data(full_prefix)[method.to_s] end def self.registered_prefixes Torasup.registered_prefixes end private def parse_phone_number(area_code_or_prefix, unresolved_local_number) if Torasup.prefix_data(full_prefix(area_code_or_prefix, local_number_parts(unresolved_local_number)[0])).any? @area_code = area_code_or_prefix @prefix = local_number_parts(unresolved_local_number)[0] @local_number = local_number_parts(unresolved_local_number)[1] elsif Torasup.prefix_data(full_prefix(area_code_or_prefix)).any? @prefix = area_code_or_prefix @local_number = unresolved_local_number else @local_number = area_code_or_prefix + unresolved_local_number end end def local_number_parts(number) [number[0..1], number[2..-1]] end def full_prefix(*parts) parts = [@area_code, @prefix] if parts.empty? @country_code + parts.join end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
torasup-0.0.2 | lib/torasup/operator.rb |
torasup-0.0.1 | lib/torasup/operator.rb |