phonelib 0.4.9 → 0.5.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.
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