phonelib 0.5.6 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|