phonelib 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +9 -3
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/README.md +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +6313 -6305
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +5989 -5980
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2063 -1977
- data/data/libphonenumber/java/build.xml +30 -0
- data/data/libphonenumber/java/carrier/pom.xml +4 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/227_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_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/255_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/40_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/91_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/95_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/1854_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
- data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +16 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java +8 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java +98 -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_LR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO +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_TZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO +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/data/SingleFilePhoneNumberMetadataProtoForTesting +0 -0
- data/data/libphonenumber/java/pom.xml +1 -1
- data/data/libphonenumber/java/release_notes.txt +12 -0
- data/data/libphonenumber/javascript/README.md +86 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +73 -73
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +29 -29
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +29 -29
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +86 -66
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +276 -24
- data/data/libphonenumber/resources/carrier/en/227.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/231.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/252.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/254.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/255.txt +6 -0
- data/data/libphonenumber/resources/carrier/en/40.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/509.txt +5 -5
- data/data/libphonenumber/resources/carrier/en/880.txt +1 -1
- data/data/libphonenumber/resources/carrier/en/91.txt +37 -4
- data/data/libphonenumber/resources/carrier/en/95.txt +29 -0
- data/data/libphonenumber/resources/geocoding/en/1.txt +1 -0
- data/data/libphonenumber/resources/geocoding/en/264.txt +1 -0
- 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/src/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java +32 -14
- 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/core.rb +15 -0
- data/lib/phonelib/data_importer.rb +12 -0
- data/lib/phonelib/phone_analyzer.rb +6 -109
- data/lib/phonelib/phone_analyzer_helper.rb +128 -0
- data/lib/phonelib/version.rb +1 -1
- data/lib/phonelib.rb +1 -0
- metadata +28 -3
- data/data/libphonenumber/javascript/README +0 -101
@@ -0,0 +1,128 @@
|
|
1
|
+
module Phonelib
|
2
|
+
module PhoneAnalyzerHelper
|
3
|
+
private
|
4
|
+
|
5
|
+
# caches regular expression, reusing it for later lookups
|
6
|
+
def cr(regexp)
|
7
|
+
Phonelib.phone_regexp_cache[regexp] ||= Regexp.new(regexp)
|
8
|
+
end
|
9
|
+
|
10
|
+
# checks if country can have numbers with double country prefixes
|
11
|
+
#
|
12
|
+
# ==== Attributes
|
13
|
+
#
|
14
|
+
# * +data+ - country data used for parsing
|
15
|
+
# * +phone+ - phone number being parsed
|
16
|
+
# * +parsed+ - parsed regex match for phone
|
17
|
+
def allows_double_prefix(data, phone, parsed)
|
18
|
+
data[Core::DOUBLE_COUNTRY_PREFIX_FLAG] &&
|
19
|
+
phone =~ cr("^#{data[Core::COUNTRY_CODE]}") &&
|
20
|
+
parsed && (parsed[:valid].nil? || parsed[:valid].empty?)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Get country that was provided or default country in needable format
|
24
|
+
#
|
25
|
+
# ==== Attributes
|
26
|
+
#
|
27
|
+
# * +country+ - country passed for parsing
|
28
|
+
def country_or_default_country(country)
|
29
|
+
country = country || Phonelib.default_country
|
30
|
+
country && country.to_s.upcase
|
31
|
+
end
|
32
|
+
|
33
|
+
# constructs full regex for phone validation for provided phone data
|
34
|
+
# (international prefix, country code, national prefix, valid number)
|
35
|
+
#
|
36
|
+
# ==== Attributes
|
37
|
+
#
|
38
|
+
# * +data+ - country data hash
|
39
|
+
# * +country_optional+ - whether to put country code as optional group
|
40
|
+
def full_regex_for_data(data, type, country_optional = true)
|
41
|
+
regex = []
|
42
|
+
regex << "(#{data[Core::INTERNATIONAL_PREFIX]})?"
|
43
|
+
regex << if country_optional
|
44
|
+
"(#{data[Core::COUNTRY_CODE]})?"
|
45
|
+
else
|
46
|
+
data[Core::COUNTRY_CODE]
|
47
|
+
end
|
48
|
+
regex << "(#{data[Core::NATIONAL_PREFIX_FOR_PARSING] || data[Core::NATIONAL_PREFIX]})?"
|
49
|
+
regex << "(#{data[Core::TYPES][Core::GENERAL][type]})"
|
50
|
+
|
51
|
+
cr("^#{regex.join}$")
|
52
|
+
end
|
53
|
+
|
54
|
+
# Check if phone match country data
|
55
|
+
#
|
56
|
+
# ==== Attributes
|
57
|
+
#
|
58
|
+
# * +phone+ - phone number for parsing
|
59
|
+
# * +data+ - country data
|
60
|
+
def phone_match_data?(phone, data, possible = false)
|
61
|
+
country_code = "#{data[Core::COUNTRY_CODE]}"
|
62
|
+
inter_prefix = "(#{data[Core::INTERNATIONAL_PREFIX]})?"
|
63
|
+
return unless phone.match cr("^#{inter_prefix}#{country_code}")
|
64
|
+
|
65
|
+
type = possible ? Core::POSSIBLE_PATTERN : Core::VALID_PATTERN
|
66
|
+
phone.match full_regex_for_data(data, type, false)
|
67
|
+
end
|
68
|
+
|
69
|
+
# checks if types has both :mobile and :fixed_line and replaces it with
|
70
|
+
# :fixed_or_mobile in case both present
|
71
|
+
def sanitize_fixed_mobile(types)
|
72
|
+
fixed_mobile = [Core::FIXED_LINE, Core::MOBILE]
|
73
|
+
[:possible, :valid].each do |key|
|
74
|
+
if (fixed_mobile - types[key]).empty?
|
75
|
+
types[key] = types[key] - fixed_mobile + [Core::FIXED_OR_MOBILE]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
types
|
79
|
+
end
|
80
|
+
|
81
|
+
# returns array of phone types for check for current country data
|
82
|
+
#
|
83
|
+
# ==== Attributes
|
84
|
+
#
|
85
|
+
# * +data+ - country data hash
|
86
|
+
def types_for_check(data)
|
87
|
+
exclude_list = PhoneAnalyzer::NOT_FOR_CHECK
|
88
|
+
exclude_list += Phonelib::Core::SHORT_CODES unless Phonelib.parse_special
|
89
|
+
Core::TYPES_DESC.keys - exclude_list + fixed_and_mobile_keys(data)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Checks if fixed line pattern and mobile pattern are the same and returns
|
93
|
+
# appropriate keys
|
94
|
+
#
|
95
|
+
# ==== Attributes
|
96
|
+
#
|
97
|
+
# * +data+ - country data
|
98
|
+
def fixed_and_mobile_keys(data)
|
99
|
+
if data[Core::FIXED_LINE] == data[Core::MOBILE]
|
100
|
+
[Core::FIXED_OR_MOBILE]
|
101
|
+
else
|
102
|
+
[Core::FIXED_LINE, Core::MOBILE]
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
# Checks if passed number matches valid and possible patterns
|
107
|
+
#
|
108
|
+
# ==== Attributes
|
109
|
+
#
|
110
|
+
# * +number+ - phone number for validation
|
111
|
+
# * +possible_pattern+ - possible pattern for validation
|
112
|
+
# * +national_pattern+ - valid pattern for validation
|
113
|
+
def number_valid_and_possible?(number, possible_pattern, national_pattern)
|
114
|
+
possible_match = number.match(cr("^(?:#{possible_pattern})$"))
|
115
|
+
possible = possible_match && possible_match.to_s.length == number.length
|
116
|
+
|
117
|
+
return [possible, possible] if possible_pattern == national_pattern
|
118
|
+
valid = false
|
119
|
+
if possible
|
120
|
+
# doing national pattern match only in case possible matches
|
121
|
+
national_match = number.match(cr("^(?:#{national_pattern})$"))
|
122
|
+
valid = national_match && national_match.to_s.length == number.length
|
123
|
+
end
|
124
|
+
|
125
|
+
[valid && possible, possible]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
data/lib/phonelib/version.rb
CHANGED
data/lib/phonelib.rb
CHANGED
@@ -4,6 +4,7 @@ module Phonelib
|
|
4
4
|
autoload :Core, 'phonelib/core'
|
5
5
|
autoload :Phone, 'phonelib/phone'
|
6
6
|
autoload :PhoneAnalyzer, 'phonelib/phone_analyzer'
|
7
|
+
autoload :PhoneAnalyzerHelper, 'phonelib/phone_analyzer_helper'
|
7
8
|
autoload :PhoneExtendedData, 'phonelib/phone_extended_data'
|
8
9
|
|
9
10
|
extend Module.new {
|
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.5.
|
4
|
+
version: 0.5.1
|
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-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 2.14.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: codeclimate-test-reporter
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: |2
|
70
84
|
Google libphonenumber library was taken as a basis for
|
71
85
|
this gem. Gem uses its data file for validations and number formatting.
|
@@ -684,6 +698,7 @@ files:
|
|
684
698
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1848_en
|
685
699
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1850_en
|
686
700
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1851_en
|
701
|
+
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en
|
687
702
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1856_en
|
688
703
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1857_en
|
689
704
|
- data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1858_en
|
@@ -962,6 +977,7 @@ files:
|
|
962
977
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
|
963
978
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberUtil.java
|
964
979
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java
|
980
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java
|
965
981
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_255
|
966
982
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_27
|
967
983
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_30
|
@@ -1298,6 +1314,8 @@ files:
|
|
1298
1314
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CA
|
1299
1315
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CC
|
1300
1316
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD
|
1317
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF
|
1318
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG
|
1301
1319
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CH
|
1302
1320
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CI
|
1303
1321
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CK
|
@@ -1322,6 +1340,7 @@ files:
|
|
1322
1340
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EE
|
1323
1341
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EG
|
1324
1342
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EH
|
1343
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER
|
1325
1344
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ES
|
1326
1345
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ET
|
1327
1346
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FI
|
@@ -1371,6 +1390,7 @@ files:
|
|
1371
1390
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KI
|
1372
1391
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KM
|
1373
1392
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KN
|
1393
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP
|
1374
1394
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR
|
1375
1395
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KW
|
1376
1396
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KY
|
@@ -1411,6 +1431,7 @@ files:
|
|
1411
1431
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MZ
|
1412
1432
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NA
|
1413
1433
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NC
|
1434
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
|
1414
1435
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NF
|
1415
1436
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NG
|
1416
1437
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NI
|
@@ -1452,6 +1473,7 @@ files:
|
|
1452
1473
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SL
|
1453
1474
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SM
|
1454
1475
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SN
|
1476
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
|
1455
1477
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SR
|
1456
1478
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ST
|
1457
1479
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SV
|
@@ -1491,6 +1513,7 @@ files:
|
|
1491
1513
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA
|
1492
1514
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZM
|
1493
1515
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW
|
1516
|
+
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto
|
1494
1517
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/internal/MatcherApi.java
|
1495
1518
|
- data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/internal/RegexBasedMatcher.java
|
1496
1519
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
|
@@ -1538,6 +1561,7 @@ files:
|
|
1538
1561
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG
|
1539
1562
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
|
1540
1563
|
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
|
1564
|
+
- data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting
|
1541
1565
|
- data/libphonenumber/java/pom.xml
|
1542
1566
|
- data/libphonenumber/java/release_notes.txt
|
1543
1567
|
- data/libphonenumber/javadoc/allclasses-frame.html
|
@@ -1565,7 +1589,7 @@ files:
|
|
1565
1589
|
- data/libphonenumber/javadoc/resources/inherit.gif
|
1566
1590
|
- data/libphonenumber/javadoc/serialized-form.html
|
1567
1591
|
- data/libphonenumber/javadoc/stylesheet.css
|
1568
|
-
- data/libphonenumber/javascript/README
|
1592
|
+
- data/libphonenumber/javascript/README.md
|
1569
1593
|
- data/libphonenumber/javascript/build.xml
|
1570
1594
|
- data/libphonenumber/javascript/i18n/phonenumbers/asyoutypeformatter.js
|
1571
1595
|
- data/libphonenumber/javascript/i18n/phonenumbers/asyoutypeformatter_test.html
|
@@ -1990,6 +2014,7 @@ files:
|
|
1990
2014
|
- lib/phonelib/data_importer_helper.rb
|
1991
2015
|
- lib/phonelib/phone.rb
|
1992
2016
|
- lib/phonelib/phone_analyzer.rb
|
2017
|
+
- lib/phonelib/phone_analyzer_helper.rb
|
1993
2018
|
- lib/phonelib/phone_extended_data.rb
|
1994
2019
|
- lib/phonelib/version.rb
|
1995
2020
|
- lib/tasks/phonelib_tasks.rake
|
@@ -1,101 +0,0 @@
|
|
1
|
-
Info:
|
2
|
-
=====
|
3
|
-
Google's JavaScript library for parsing, formatting, and validating
|
4
|
-
international phone numbers.
|
5
|
-
|
6
|
-
|
7
|
-
How to setup:
|
8
|
-
=============
|
9
|
-
1. Checkout closure-library, closure-compiler, closure-linter and python-gflags
|
10
|
-
next to libphonenumber:
|
11
|
-
|
12
|
-
e.g.
|
13
|
-
git clone https://github.com/googlei18n/libphonenumber/
|
14
|
-
git clone https://github.com/google/closure-library/
|
15
|
-
git clone https://github.com/google/closure-compiler.git
|
16
|
-
svn checkout http://closure-linter.googlecode.com/svn/trunk/ ~/src/closure-linter
|
17
|
-
svn checkout http://python-gflags.googlecode.com/svn/trunk/ ~/src/python-gflags
|
18
|
-
|
19
|
-
(If you don't checkout the dependencies next to libphonenumber:
|
20
|
-
a. change the path of the <script src=""> in the html pages to point to wherever
|
21
|
-
base.js is located
|
22
|
-
b. update javascript/build.xml with the correct paths)
|
23
|
-
|
24
|
-
2. Run the unit tests to make sure everything is working. Open the following
|
25
|
-
pages with your web browser:
|
26
|
-
javascript/i18n/phonenumbers/phonenumberutil_test.html
|
27
|
-
javascript/i18n/phonenumbers/asyoutypeformatter_test.html
|
28
|
-
|
29
|
-
3. Run the demo: javascript/i18n/phonenumbers/demo.html
|
30
|
-
|
31
|
-
|
32
|
-
How to compile:
|
33
|
-
===============
|
34
|
-
1. Build Closure's compiler.jar:
|
35
|
-
|
36
|
-
e.g.
|
37
|
-
ant -f ~/src/closure-compiler/build.xml
|
38
|
-
|
39
|
-
2. Compile the demo.js and all its dependencies to one file: demo-compiled.js:
|
40
|
-
|
41
|
-
ant -f javascript/build.xml compile-demo
|
42
|
-
|
43
|
-
3. Run the compiled demo: javascript/i18n/phonenumbers/demo-compiled.html
|
44
|
-
|
45
|
-
|
46
|
-
How to use:
|
47
|
-
===========
|
48
|
-
To use and compile the library in your own project, use the
|
49
|
-
javascript/i18n/phonenumbers/demo.js as an example. You will need to
|
50
|
-
goog.exportSymbol all the methods you use in your html so that the compiler
|
51
|
-
won't rename them. You can then invoke the compiler similarly to how the
|
52
|
-
compile-demo ant target in javascript/build.xml invokes it.
|
53
|
-
|
54
|
-
|
55
|
-
How to update:
|
56
|
-
==============
|
57
|
-
The JavaScript library is ported from the Java implementation (revision 536).
|
58
|
-
When the Java project gets updated follow these steps to update the JavaScript
|
59
|
-
project:
|
60
|
-
|
61
|
-
1. If the protocol buffers (phonemetadata.proto and phonenumber.proto)
|
62
|
-
have changed:
|
63
|
-
a. Manually update the .pb.js files with the changes of the .proto files.
|
64
|
-
b. Manually update the toJsArray() Java methods in
|
65
|
-
tools/java/java-build/src/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
|
66
|
-
c. Build tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar
|
67
|
-
by running:
|
68
|
-
mvn -f tools/java/java-build/pom.xml package
|
69
|
-
|
70
|
-
2. If the phone number metadata in the XML format has changed
|
71
|
-
(resources/PhoneNumberMetadata.xml)
|
72
|
-
run the following commands to regenerate metadata.js and
|
73
|
-
metadatafortesting.js:
|
74
|
-
|
75
|
-
ant -f java/build.xml build-js-metadata
|
76
|
-
|
77
|
-
3. Manually port any changes of the Java code to the JavaScript code:
|
78
|
-
PhoneNumberUtil.java => phonenumberutil.js
|
79
|
-
AsYouTypeFormatter.java => asyoutypeformatter.js
|
80
|
-
PhoneNumberUtilTest.java => phonenumberutil_test.js
|
81
|
-
AsYouTypeFormatterTest.java => asyoutypeformatter_test.js
|
82
|
-
|
83
|
-
4. Run the Closure Compiler to get your changes syntax and type checked.
|
84
|
-
This will also generate demo-compiled.js used by demo-compiler.html
|
85
|
-
(TODO: Use target "compile" rather than "compile-demo" once
|
86
|
-
visibility issues for getExtractedNationalPrefix_ have been resolved):
|
87
|
-
|
88
|
-
ant -f javascript/build.xml compile-demo
|
89
|
-
|
90
|
-
5. Run the Closure Linter to lint the JavaScript files:
|
91
|
-
|
92
|
-
ant -f javascript/build.xml lint
|
93
|
-
|
94
|
-
|
95
|
-
TODO:
|
96
|
-
=====
|
97
|
-
Port functionality to extract phone-numbers from text (findNumbers).
|
98
|
-
Port offline phone number geocoder.
|
99
|
-
Enable PhoneNumberUtil to handle all digits, rather than a subset
|
100
|
-
(JavaScript has no equivalent to the Java Character.digit).
|
101
|
-
Port ShortNumberInfo.
|