module Phonelib::PhoneExtendedData
module provides extended data methods for parsed phone
Constants
- EXT_KEYS
@private keys for extended data
Public Instance Methods
Returns carrier of parsed phone number or nil if number is invalid or there is no carrier specified in db for this number @return [String|nil] carrier for parsed phone
# File lib/phonelib/phone_extended_data.rb, line 30 def carrier get_ext_name Phonelib::Core::EXT_CARRIERS, Phonelib::Core::EXT_CARRIER_KEY end
Returns geo name of parsed phone number or nil if number is invalid or there is no geo name specified in db for this number @return [String|nil] geo name for parsed phone
# File lib/phonelib/phone_extended_data.rb, line 14 def geo_name get_ext_name Phonelib::Core::EXT_GEO_NAMES, Phonelib::Core::EXT_GEO_NAME_KEY end
Returns timezone of parsed phone number or nil if number is invalid or there is no timezone specified in db for this number @return [String|nil] timezone for parsed phone
# File lib/phonelib/phone_extended_data.rb, line 22 def timezone get_ext_name Phonelib::Core::EXT_TIMEZONES, Phonelib::Core::EXT_TIMEZONE_KEY end
returns valid country name
# File lib/phonelib/phone_extended_data.rb, line 36 def valid_country_name return unless valid? Phonelib.phone_ext_data[Phonelib::Core::EXT_COUNTRY_NAMES][valid_country] end
Private Instance Methods
@private default extended data
# File lib/phonelib/phone_extended_data.rb, line 80 def default_ext_data result = {} EXT_KEYS.each { |key| result[key] = nil } result end
@private returns extended data ids for current number
# File lib/phonelib/phone_extended_data.rb, line 60 def ext_data return @ext_data if defined?(@ext_data) && @ext_data result = default_ext_data return result unless possible? drill = Phonelib.phone_ext_data[Phonelib::Core::EXT_PREFIXES] e164.delete('+').each_char do |num| drill = drill[num.to_i] || break EXT_KEYS.each do |key| result[key] = drill[key] if drill[key] end end @ext_data = result end
@private get name from extended phone data by keys
Attributes¶ ↑
-
name_key
- names array key from extended data hash -
id_key
- parameter id key in resolved extended data for number
# File lib/phonelib/phone_extended_data.rb, line 51 def get_ext_name(names_key, id_key) return nil unless ext_data[id_key] res = Phonelib.phone_ext_data[names_key][ext_data[id_key]] return nil unless res res.size == 1 ? res.first : res end