phonelib 0.5.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/FALSEHOODS.md +221 -0
- data/data/libphonenumber/FAQ.md +8 -0
- data/data/libphonenumber/README.md +4 -4
- data/data/libphonenumber/cpp/CMakeLists.txt +2 -1
- data/data/libphonenumber/cpp/README +62 -2
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +9480 -9440
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10349 -10308
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumbermatcher.cc +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc +108 -5
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumberutil.h +37 -4
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +544 -514
- data/data/libphonenumber/cpp/test/phonenumbers/phonenumbermatcher_test.cc +9 -1
- data/data/libphonenumber/cpp/test/phonenumbers/phonenumberutil_test.cc +61 -1
- data/data/libphonenumber/debian/control +1 -1
- data/data/libphonenumber/java/carrier/pom.xml +4 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en +0 -0
- data/data/libphonenumber/java/demo/pom.xml +5 -5
- data/data/libphonenumber/java/geocoder/pom.xml +4 -4
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data +0 -0
- data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +2 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +120 -12
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java +22 -4
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java +22 -1
- data/data/libphonenumber/java/pending_code_changes.txt +1 -0
- data/data/libphonenumber/java/pom.xml +1 -1
- data/data/libphonenumber/java/release_notes.txt +33 -1
- data/data/libphonenumber/javascript/README.md +2 -2
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +157 -155
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +49 -41
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +49 -41
- data/data/libphonenumber/javascript/i18n/phonenumbers/phonenumberutil.js +39 -10
- data/data/libphonenumber/javascript/i18n/phonenumbers/phonenumberutil_test.js +8 -0
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +176 -125
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +158 -24
- data/data/libphonenumber/resources/carrier/en/225.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/229.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/252.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/254.txt +24 -8
- data/data/libphonenumber/resources/carrier/en/84.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/853.txt +10 -0
- data/data/libphonenumber/resources/carrier/en/86.txt +9 -0
- data/data/libphonenumber/resources/carrier/en/968.txt +11 -1
- data/data/libphonenumber/resources/geocoding/en/251.txt +1 -0
- data/data/libphonenumber/resources/geocoding/en/254.txt +5 -5
- data/data/libphonenumber/resources/geocoding/en/84.txt +9 -1
- data/data/libphonenumber/resources/geocoding/en/86.txt +18 -14
- data/data/libphonenumber/resources/geocoding/zh/86.txt +17 -15
- data/data/libphonenumber/resources/phonenumber.proto +7 -6
- data/data/libphonenumber/resources/timezones/map_data.txt +63 -19
- data/data/phone_data.dat +0 -0
- data/lib/phonelib/phone_analyzer.rb +11 -7
- data/lib/phonelib/phone_analyzer_helper.rb +4 -3
- data/lib/phonelib/version.rb +1 -1
- metadata +4 -2
data/data/phone_data.dat
CHANGED
|
Binary file
|
|
@@ -20,11 +20,11 @@ module Phonelib
|
|
|
20
20
|
|
|
21
21
|
result = try_to_parse_single_country(phone, country)
|
|
22
22
|
# if previous parsing failed, trying for all countries
|
|
23
|
-
if result.nil? || result.empty? || result.values.first[:valid].empty?
|
|
23
|
+
if passed_country.nil? && (result.nil? || result.empty? || result.values.first[:valid].empty?)
|
|
24
24
|
detected = detect_and_parse phone
|
|
25
25
|
result = detected.empty? ? result || {} : detected
|
|
26
26
|
end
|
|
27
|
-
result
|
|
27
|
+
result || {}
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
private
|
|
@@ -64,7 +64,7 @@ module Phonelib
|
|
|
64
64
|
get_national_and_data(e164, data, valid_match)
|
|
65
65
|
else
|
|
66
66
|
possible_match = phone_match_data?(e164, data, true)
|
|
67
|
-
possible_match && get_national_and_data(e164, data, possible_match)
|
|
67
|
+
possible_match && get_national_and_data(e164, data, possible_match, true)
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
|
|
@@ -111,14 +111,17 @@ module Phonelib
|
|
|
111
111
|
# * +phone+ - phone number for parsing
|
|
112
112
|
# * +data+ - country data
|
|
113
113
|
# * +country_match+ - result of match of phone within full regex
|
|
114
|
-
|
|
114
|
+
# * +not_valid+ - specifies that number is not valid by general desc pattern
|
|
115
|
+
def get_national_and_data(phone, data, country_match, not_valid = false)
|
|
115
116
|
prefix_length = data[Core::COUNTRY_CODE].length
|
|
116
117
|
prefix_length += [1, 2].map { |i| country_match[i].to_s.size }.inject(:+)
|
|
117
118
|
result = data.select { |k, v| k != :types && k != :formats }
|
|
118
119
|
result[:national] = phone[prefix_length..-1] || ''
|
|
119
120
|
result[:format] = get_number_format(result[:national],
|
|
120
121
|
data[Core::FORMATS])
|
|
121
|
-
result.merge! all_number_types(result[:national], data[Core::TYPES])
|
|
122
|
+
result.merge! all_number_types(result[:national], data[Core::TYPES], not_valid)
|
|
123
|
+
result[:valid] = [] if not_valid
|
|
124
|
+
|
|
122
125
|
{ result[:id] => result }
|
|
123
126
|
end
|
|
124
127
|
|
|
@@ -129,14 +132,15 @@ module Phonelib
|
|
|
129
132
|
#
|
|
130
133
|
# * +phone+ - phone number for parsing
|
|
131
134
|
# * +data+ - country data
|
|
132
|
-
|
|
135
|
+
# * +not_valid+ - specifies that number is not valid by general desc pattern
|
|
136
|
+
def all_number_types(phone, data, not_valid = false)
|
|
133
137
|
response = { valid: [], possible: [] }
|
|
134
138
|
|
|
135
139
|
types_for_check(data).each do |type|
|
|
136
140
|
possible, valid = get_patterns(data, type)
|
|
137
141
|
|
|
138
142
|
valid_and_possible, possible_result =
|
|
139
|
-
number_valid_and_possible?(phone, possible, valid)
|
|
143
|
+
number_valid_and_possible?(phone, possible, valid, not_valid)
|
|
140
144
|
response[:possible] << type if possible_result
|
|
141
145
|
response[:valid] << type if valid_and_possible
|
|
142
146
|
end
|
|
@@ -111,13 +111,14 @@ module Phonelib
|
|
|
111
111
|
# * +number+ - phone number for validation
|
|
112
112
|
# * +possible_pattern+ - possible pattern for validation
|
|
113
113
|
# * +national_pattern+ - valid pattern for validation
|
|
114
|
-
|
|
114
|
+
# * +not_valid+ - specifies that number is not valid by general desc pattern
|
|
115
|
+
def number_valid_and_possible?(number, possible_pattern, national_pattern, not_valid = false)
|
|
115
116
|
possible_match = number.match(cr("^(?:#{possible_pattern})$"))
|
|
116
117
|
possible = possible_match && possible_match.to_s.length == number.length
|
|
117
118
|
|
|
118
|
-
return [possible, possible] if possible_pattern == national_pattern
|
|
119
|
+
return [!not_valid && possible, possible] if possible_pattern == national_pattern
|
|
119
120
|
valid = false
|
|
120
|
-
if possible
|
|
121
|
+
if !not_valid && possible
|
|
121
122
|
# doing national pattern match only in case possible matches
|
|
122
123
|
national_match = number.match(cr("^(?:#{national_pattern})$"))
|
|
123
124
|
valid = national_match && national_match.to_s.length == number.length
|
data/lib/phonelib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: phonelib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vadim Senderovich
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-04-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -110,6 +110,7 @@ files:
|
|
|
110
110
|
- data/libphonenumber/AUTHORS
|
|
111
111
|
- data/libphonenumber/CONTRIBUTING.md
|
|
112
112
|
- data/libphonenumber/CONTRIBUTORS
|
|
113
|
+
- data/libphonenumber/FALSEHOODS.md
|
|
113
114
|
- data/libphonenumber/FAQ.md
|
|
114
115
|
- data/libphonenumber/LICENSE
|
|
115
116
|
- data/libphonenumber/LICENSE.Chromium
|
|
@@ -1579,6 +1580,7 @@ files:
|
|
|
1579
1580
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
|
|
1580
1581
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
|
|
1581
1582
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting
|
|
1583
|
+
- data/libphonenumber/java/pending_code_changes.txt
|
|
1582
1584
|
- data/libphonenumber/java/pom.xml
|
|
1583
1585
|
- data/libphonenumber/java/release_notes.txt
|
|
1584
1586
|
- data/libphonenumber/javadoc/allclasses-frame.html
|