phonelib 0.4.9 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +14 -3
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/README.md +5 -1
  5. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10195 -10134
  6. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +11081 -11017
  7. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +1514 -1509
  8. data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc +22 -0
  9. data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.h +3 -0
  10. data/data/libphonenumber/cpp/src/phonenumbers/test_metadata.cc +128 -120
  11. data/data/libphonenumber/cpp/test/phonenumbers/shortnumberinfo_test.cc +13 -0
  12. data/data/libphonenumber/java/carrier/pom.xml +4 -4
  13. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en +0 -0
  14. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en +0 -0
  15. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en +0 -0
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/263_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/976_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
  23. data/data/libphonenumber/java/demo/pom.xml +5 -5
  24. data/data/libphonenumber/java/geocoder/pom.xml +4 -4
  25. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/263_en +0 -0
  26. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  27. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data +0 -0
  28. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
  29. data/data/libphonenumber/java/libphonenumber/pom.xml +2 -2
  30. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java +38 -0
  31. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +155 -0
  32. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +31 -109
  33. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java +19 -0
  34. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR +0 -0
  35. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU +0 -0
  36. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY +0 -0
  37. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR +0 -0
  38. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ +0 -0
  39. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH +0 -0
  40. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES +0 -0
  41. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
  42. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT +0 -0
  43. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
  44. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO +0 -0
  45. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN +0 -0
  46. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU +0 -0
  47. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX +0 -0
  48. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL +0 -0
  49. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST +0 -0
  50. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ +0 -0
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD +0 -0
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT +0 -0
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT +0 -0
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW +0 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK +0 -0
  56. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR +0 -0
  57. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX +0 -0
  58. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW +0 -0
  59. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java +6 -2
  60. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +51 -0
  61. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java +0 -20
  62. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java +11 -0
  63. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java +3 -2
  64. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE +0 -0
  65. data/data/libphonenumber/java/pom.xml +1 -1
  66. data/data/libphonenumber/java/release_notes.txt +16 -0
  67. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +135 -133
  68. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +54 -48
  69. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatafortesting.js +14 -0
  70. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +54 -48
  71. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +366 -256
  72. data/data/libphonenumber/resources/PhoneNumberMetadataForTesting.xml +4 -0
  73. data/data/libphonenumber/resources/ShortNumberMetadata.xml +52 -15
  74. data/data/libphonenumber/resources/carrier/en/230.txt +2 -0
  75. data/data/libphonenumber/resources/carrier/en/235.txt +1 -0
  76. data/data/libphonenumber/resources/carrier/en/239.txt +1 -0
  77. data/data/libphonenumber/resources/carrier/en/263.txt +1 -0
  78. data/data/libphonenumber/resources/carrier/en/41.txt +1 -1
  79. data/data/libphonenumber/resources/carrier/en/509.txt +24 -0
  80. data/data/libphonenumber/resources/carrier/en/61.txt +1 -0
  81. data/data/libphonenumber/resources/carrier/en/91.txt +1726 -830
  82. data/data/libphonenumber/resources/carrier/en/976.txt +18 -0
  83. data/data/libphonenumber/resources/geocoding/en/263.txt +40 -22
  84. data/data/libphonenumber/resources/timezones/map_data.txt +24 -11
  85. data/data/libphonenumber/tools/java/cpp-build/pom.xml +1 -1
  86. data/data/libphonenumber/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
  87. data/data/libphonenumber/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
  88. data/data/phone_data.dat +0 -0
  89. data/lib/phonelib.rb +1 -0
  90. data/lib/phonelib/core.rb +1 -0
  91. data/lib/phonelib/data_importer_helper.rb +1 -0
  92. data/lib/phonelib/phone.rb +61 -78
  93. data/lib/phonelib/phone_analyzer.rb +1 -1
  94. data/lib/phonelib/phone_extended_data.rb +68 -0
  95. data/lib/phonelib/version.rb +1 -1
  96. 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
@@ -1,5 +1,5 @@
1
1
  # :nodoc:
2
2
  module Phonelib
3
3
  # :nodoc:
4
- VERSION = '0.4.9'
4
+ VERSION = '0.5.0'
5
5
  end
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.9
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-07-28 00:00:00.000000000 Z
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