phonelib 0.4.9 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +14 -3
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/README.md +5 -1
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10195 -10134
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +11081 -11017
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +1514 -1509
- data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc +22 -0
- data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.h +3 -0
- data/data/libphonenumber/cpp/src/phonenumbers/test_metadata.cc +128 -120
- data/data/libphonenumber/cpp/test/phonenumbers/shortnumberinfo_test.cc +13 -0
- data/data/libphonenumber/java/carrier/pom.xml +4 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/263_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/976_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +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/263_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +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/MetadataSource.java +38 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +155 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +31 -109
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java +19 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT +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_JO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW +0 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java +6 -2
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +51 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java +0 -20
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java +11 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java +3 -2
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE +0 -0
- data/data/libphonenumber/java/pom.xml +1 -1
- data/data/libphonenumber/java/release_notes.txt +16 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +135 -133
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +54 -48
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatafortesting.js +14 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +54 -48
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +366 -256
- data/data/libphonenumber/resources/PhoneNumberMetadataForTesting.xml +4 -0
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +52 -15
- data/data/libphonenumber/resources/carrier/en/230.txt +2 -0
- data/data/libphonenumber/resources/carrier/en/235.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/239.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/263.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/41.txt +1 -1
- data/data/libphonenumber/resources/carrier/en/509.txt +24 -0
- data/data/libphonenumber/resources/carrier/en/61.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/91.txt +1726 -830
- data/data/libphonenumber/resources/carrier/en/976.txt +18 -0
- data/data/libphonenumber/resources/geocoding/en/263.txt +40 -22
- data/data/libphonenumber/resources/timezones/map_data.txt +24 -11
- data/data/libphonenumber/tools/java/cpp-build/pom.xml +1 -1
- data/data/libphonenumber/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
- data/data/libphonenumber/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
- data/data/phone_data.dat +0 -0
- data/lib/phonelib.rb +1 -0
- data/lib/phonelib/core.rb +1 -0
- data/lib/phonelib/data_importer_helper.rb +1 -0
- data/lib/phonelib/phone.rb +61 -78
- data/lib/phonelib/phone_analyzer.rb +1 -1
- data/lib/phonelib/phone_extended_data.rb +68 -0
- data/lib/phonelib/version.rb +1 -1
- metadata +11 -2
@@ -145,7 +145,7 @@ module Phonelib
|
|
145
145
|
prefix_length = data[Core::COUNTRY_CODE].length
|
146
146
|
prefix_length += [1, 2].map { |i| country_match[i].to_s.size }.inject(:+)
|
147
147
|
result = data.select { |k, v| k != :types && k != :formats }
|
148
|
-
result[:national] = phone[prefix_length..-1]
|
148
|
+
result[:national] = phone[prefix_length..-1] || ''
|
149
149
|
result[:format] = get_number_format(result[:national],
|
150
150
|
data[Core::FORMATS])
|
151
151
|
result.merge! all_number_types(result[:national], data[Core::TYPES])
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Phonelib
|
2
|
+
# module provides extended data methods for parsed phone
|
3
|
+
module PhoneExtendedData
|
4
|
+
# Returns geo name of parsed phone number or nil if number is invalid or
|
5
|
+
# there is no geo name specified in db for this number
|
6
|
+
def geo_name
|
7
|
+
get_ext_name Phonelib::Core::EXT_GEO_NAMES,
|
8
|
+
Phonelib::Core::EXT_GEO_NAME_KEY
|
9
|
+
end
|
10
|
+
|
11
|
+
# Returns timezone of parsed phone number or nil if number is invalid or
|
12
|
+
# there is no timezone specified in db for this number
|
13
|
+
def timezone
|
14
|
+
get_ext_name Phonelib::Core::EXT_TIMEZONES,
|
15
|
+
Phonelib::Core::EXT_TIMEZONE_KEY
|
16
|
+
end
|
17
|
+
|
18
|
+
# Returns carrier of parsed phone number or nil if number is invalid or
|
19
|
+
# there is no carrier specified in db for this number
|
20
|
+
def carrier
|
21
|
+
get_ext_name Phonelib::Core::EXT_CARRIERS,
|
22
|
+
Phonelib::Core::EXT_CARRIER_KEY
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
# get name from extended phone data by keys
|
28
|
+
#
|
29
|
+
# ==== Attributes
|
30
|
+
#
|
31
|
+
# * +name_key+ - names array key from extended data hash
|
32
|
+
# * +id_key+ - parameter id key in resolved extended data for number
|
33
|
+
#
|
34
|
+
def get_ext_name(names_key, id_key)
|
35
|
+
if ext_data[id_key] > 0
|
36
|
+
res = Phonelib.phone_ext_data[names_key][ext_data[id_key]]
|
37
|
+
res.size == 1 ? res.first : res
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# returns extended data ids for current number
|
42
|
+
def ext_data
|
43
|
+
return @ext_data if @ext_data
|
44
|
+
|
45
|
+
ext_keys = [
|
46
|
+
Phonelib::Core::EXT_GEO_NAME_KEY,
|
47
|
+
Phonelib::Core::EXT_TIMEZONE_KEY,
|
48
|
+
Phonelib::Core::EXT_CARRIER_KEY
|
49
|
+
]
|
50
|
+
result = {}
|
51
|
+
ext_keys.each { |key| result[key] = 0 }
|
52
|
+
|
53
|
+
return result unless possible?
|
54
|
+
|
55
|
+
drill = Phonelib.phone_ext_data[Phonelib::Core::EXT_PREFIXES]
|
56
|
+
|
57
|
+
e164.gsub('+', '').each_char do |num|
|
58
|
+
drill = drill[num.to_i] || break
|
59
|
+
|
60
|
+
ext_keys.each do |key|
|
61
|
+
result[key] = drill[key] if drill[key]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
@ext_data = result
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
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.5.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: 2015-
|
11
|
+
date: 2015-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -318,6 +318,7 @@ files:
|
|
318
318
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/505_en
|
319
319
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/506_en
|
320
320
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/507_en
|
321
|
+
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en
|
321
322
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/51_en
|
322
323
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/53_en
|
323
324
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/54_en
|
@@ -376,6 +377,7 @@ files:
|
|
376
377
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
|
377
378
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/974_en
|
378
379
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/975_en
|
380
|
+
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/976_en
|
379
381
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en
|
380
382
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_en
|
381
383
|
- data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en
|
@@ -948,6 +950,8 @@ files:
|
|
948
950
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java
|
949
951
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java
|
950
952
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataManager.java
|
953
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
|
954
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
|
951
955
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/NumberParseException.java
|
952
956
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java
|
953
957
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java
|
@@ -1493,6 +1497,7 @@ files:
|
|
1493
1497
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java
|
1494
1498
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java
|
1495
1499
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java
|
1500
|
+
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
|
1496
1501
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberMatchTest.java
|
1497
1502
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberMatcherTest.java
|
1498
1503
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
|
@@ -1529,6 +1534,7 @@ files:
|
|
1529
1534
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ
|
1530
1535
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL
|
1531
1536
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE
|
1537
|
+
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
|
1532
1538
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG
|
1533
1539
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
|
1534
1540
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
|
@@ -1679,6 +1685,7 @@ files:
|
|
1679
1685
|
- data/libphonenumber/resources/carrier/en/505.txt
|
1680
1686
|
- data/libphonenumber/resources/carrier/en/506.txt
|
1681
1687
|
- data/libphonenumber/resources/carrier/en/507.txt
|
1688
|
+
- data/libphonenumber/resources/carrier/en/509.txt
|
1682
1689
|
- data/libphonenumber/resources/carrier/en/51.txt
|
1683
1690
|
- data/libphonenumber/resources/carrier/en/53.txt
|
1684
1691
|
- data/libphonenumber/resources/carrier/en/54.txt
|
@@ -1736,6 +1743,7 @@ files:
|
|
1736
1743
|
- data/libphonenumber/resources/carrier/en/973.txt
|
1737
1744
|
- data/libphonenumber/resources/carrier/en/974.txt
|
1738
1745
|
- data/libphonenumber/resources/carrier/en/975.txt
|
1746
|
+
- data/libphonenumber/resources/carrier/en/976.txt
|
1739
1747
|
- data/libphonenumber/resources/carrier/en/977.txt
|
1740
1748
|
- data/libphonenumber/resources/carrier/en/98.txt
|
1741
1749
|
- data/libphonenumber/resources/carrier/en/992.txt
|
@@ -1982,6 +1990,7 @@ files:
|
|
1982
1990
|
- lib/phonelib/data_importer_helper.rb
|
1983
1991
|
- lib/phonelib/phone.rb
|
1984
1992
|
- lib/phonelib/phone_analyzer.rb
|
1993
|
+
- lib/phonelib/phone_extended_data.rb
|
1985
1994
|
- lib/phonelib/version.rb
|
1986
1995
|
- lib/tasks/phonelib_tasks.rake
|
1987
1996
|
- lib/validators/phone_validator.rb
|