lib/phonelib/phone_analyzer.rb in phonelib-0.2.8 vs lib/phonelib/phone_analyzer.rb in phonelib-0.2.9

- old
+ new

@@ -21,11 +21,11 @@ # returns national number for provided phone and analyzing results for # provided phone number def get_national_and_data(phone, data, country_match) prefix_length = data[Core::COUNTRY_CODE].length - prefix_length += country_match[1].length unless country_match[1].nil? + prefix_length += [1, 2].map {|i| country_match[i].to_s.length}.inject(:+) result = data.select { |k, v| ![:types, :formats].include?(k) } result[:national] = phone[prefix_length..-1] result[:format] = get_number_format(result[:national], data[Core::FORMATS]) result.merge! all_number_types(result[:national], data[Core::TYPES]) { result[:id] => result } @@ -34,11 +34,12 @@ # Check if sanitized phone match country data def phone_match_data?(phone, data) country_code = "#{data[Core::COUNTRY_CODE]}" inter_prefix = "(#{data[Core::INTERNATIONAL_PREFIX]})?" if phone =~ /^#{inter_prefix}#{country_code}/ + national_prefix = "(#{data[Core::NATIONAL_PREFIX]})?" _possible, valid = get_patterns(data[Core::TYPES], Core::GENERAL) - phone.match /^#{inter_prefix}#{country_code}#{valid}$/ + phone.match /^#{inter_prefix}#{country_code}#{national_prefix}#{valid}$/ end end # Get needable data for formatting phone as national number def get_formatting_data \ No newline at end of file