phony 2.18.15 → 2.18.21
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2b9c50bfb64f0a6eb3e0f191645e5f31de7c33b91034fde8620aa93881dd90a
|
4
|
+
data.tar.gz: e0d17bcc147253b71f24d713c26b942587df86f002c24e85e1164ff72461db4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b05a78e8c484e48b7656489b0d1388c990aadbd2634f30e7283ae98cb4bb96d9aa8466eb9bf98ca1a3845b4fa7f450d4ea115d63d4d0b5b24c8c5cb448003c1b
|
7
|
+
data.tar.gz: 48bad87202e0c1424bc6ea2458f9042de35a74b03d536c3a0267027dc742a9178632e44c14a1ce4b51956cd005a625ea722008af2f308e01c648b35b5ef36b74
|
data/lib/phony/countries.rb
CHANGED
@@ -352,13 +352,13 @@ Phony.define do
|
|
352
352
|
|
353
353
|
# Côte d'Ivoire
|
354
354
|
# http://www.wtng.info/wtng-225-ci.html
|
355
|
-
#
|
355
|
+
# https://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000310006PDFE.pdf
|
356
356
|
# http://en.wikipedia.org/wiki/Telephone_numbers_in_Ivory_Coast
|
357
357
|
#
|
358
358
|
# There is no trunk code for this country and several of the mobile prefixes start with 0
|
359
359
|
country '225',
|
360
360
|
trunk('', :normalize => false) |
|
361
|
-
fixed(2) >> split(2,2,2)
|
361
|
+
fixed(2) >> split(2,2,2,2)
|
362
362
|
|
363
363
|
country '226', none >> split(4,4) # Burkina Faso http://www.wtng.info/wtng-226-bf.html
|
364
364
|
country '227', none >> split(4,4) # Niger http://www.wtng.info/wtng-227-ne.html
|
@@ -397,6 +397,7 @@ Phony.define do
|
|
397
397
|
country '234',
|
398
398
|
match(/^([7-9]0\d)\d+$/) >> split(3,4) | # Mobile
|
399
399
|
match(/^(81\d)\d+$/) >> split(3,4) | # Mobile
|
400
|
+
match(/^(91\d)\d+$/) >> split(3,4) | # Mobile
|
400
401
|
one_of('1', '2') >> split(3,3..4) | # Lagos, Ibadan
|
401
402
|
one_of('9') >> split(3,4) | # Abuja
|
402
403
|
one_of((30..79).map(&:to_s)) >> split(3,2..3) | # 2-digit NDC
|
@@ -409,7 +410,9 @@ Phony.define do
|
|
409
410
|
country '239', fixed(1) >> split(3,3) # Sao Tome and Principe, http://www.wtng.info/wtng-239-st.html
|
410
411
|
|
411
412
|
country '240', none >> split(3,3,3) # Equatorial Guinea
|
412
|
-
country '241',
|
413
|
+
country '241',
|
414
|
+
match(/^(\d)\d{6}$/) >> split(3,3) | # Gabonese Republic http://www.wtng.info/wtng-241-ga.html
|
415
|
+
match(/^(\d\d)\d{6}$/) >> split(2,2,2) # 2019 update https://en.wikipedia.org/wiki/Telephone_numbers_in_Gabon
|
413
416
|
country '242', # Congo http://www.wtng.info/wtng-242-cg.html
|
414
417
|
trunk('', :normalize => false) |
|
415
418
|
none >> split(4,5)
|
@@ -9,14 +9,14 @@
|
|
9
9
|
#
|
10
10
|
# References:
|
11
11
|
# http://www.comreg.ie/_fileupload/publications/ComReg03147.pdf (2003)
|
12
|
+
# https://www.comreg.ie/media/dlm_uploads/2015/12/ComReg0804.pdf (2008)
|
12
13
|
# http://www.comreg.ie/licensing_and_services/area_code_maps.552.1040.html
|
13
14
|
# http://en.wikipedia.org/wiki/Telephone_numbers_in_the_Republic_of_Ireland
|
14
15
|
#
|
15
16
|
ndcs_with_5_subscriber_digits = [
|
16
|
-
'22', '
|
17
|
+
'22', '24', '25', '26', '27', '28', '29', # Mallow, Youghal, Fermoy, Macroom, Bantry, Skibbereen, Kanturk
|
17
18
|
'402', # Arklow
|
18
19
|
'404', # Wicklow
|
19
|
-
'43', # Longford, Granard
|
20
20
|
'47', # Monaghan, Clones
|
21
21
|
'48', # Northern Ireland
|
22
22
|
'502', # Portlaoise, Abbeyleix
|
@@ -24,12 +24,10 @@ ndcs_with_5_subscriber_digits = [
|
|
24
24
|
'505', # Roscrea
|
25
25
|
'506', # Tullamore
|
26
26
|
'509', # Bin-
|
27
|
-
'52', # Killenaule
|
28
27
|
'54', # Legacy Ferns, Enniscorthy
|
29
28
|
'55', # Legacy Gorey
|
30
29
|
'62', # Tipperary, Cashel
|
31
30
|
'63', # Charleville
|
32
|
-
'64', # Killarney, Rathmore
|
33
31
|
'67', # Nenagh
|
34
32
|
'68', # Listowel
|
35
33
|
'69', # Newcastle West
|
@@ -47,15 +45,19 @@ ndcs_with_6_subscriber_digits = [
|
|
47
45
|
ndcs_with_7_subscriber_digits = [
|
48
46
|
'1', # Dublin
|
49
47
|
'21', # Cork, Coachford, Kinsale
|
48
|
+
'23', # Bandon
|
50
49
|
'41', # Ardee
|
51
50
|
'42', # Dundalk, Carrickmacross, Castleblaney
|
51
|
+
'43', # Longford, Granard
|
52
52
|
'44', # Mullingar, Castlepollard, Tyrellspass
|
53
53
|
'46', # Navan, Kells, Trim, Enfield, Edenderry
|
54
54
|
'49', # Cavan, Cootehill, Oldcastle, Belturbet
|
55
|
+
'52', # Killenaule
|
55
56
|
'53', # Wexford, Enniscorthy, Ferns, Gorey, Craanford
|
56
57
|
'56', # Kilkenny, Castlecomer
|
57
58
|
'58', # Dungarvan
|
58
59
|
'59', # Carlow, Muine Bheag, Athy, Baltinglass
|
60
|
+
'64', # Killarney, Rathmore
|
59
61
|
'65', # Ennistymon, Kilrush
|
60
62
|
'66', # Tralee, Dingle, Killorglin, Cahirciveen
|
61
63
|
'71', # Sligo, Manorhamilton, Carrick-on-Shannon
|
@@ -8,6 +8,9 @@ Phony.define do
|
|
8
8
|
trunk('0') |
|
9
9
|
one_of(%w(800)) >> split(3,2) | # freephone
|
10
10
|
one_of(%w(808)) >> split(3,2) | # payphone
|
11
|
+
one_of(%w(677 678)) >> matched_split(
|
12
|
+
/\A\d{4}\z/ => [3],
|
13
|
+
/\A\d+\z/ => [3,3]) |
|
11
14
|
one_of(%w(230)) >> matched_split(
|
12
15
|
/\A\d{4}\z/ => [4],
|
13
16
|
/\A\d+\z/ => [3,2]) |
|
@@ -21,6 +24,7 @@ Phony.define do
|
|
21
24
|
one_of(%w(72)) >> split(3,3) | # ISP
|
22
25
|
one_of(%w(60 61 68 69)) >> matched_split(
|
23
26
|
/\A\d{3}\z/ => [3],
|
27
|
+
/\A\d{6}\z/ => [3,3],
|
24
28
|
/\A\d{7}\z/ => [3,4],
|
25
29
|
/\A\d+\z/ => [3,3,4]) | # mobile, voicemail (mobile)
|
26
30
|
one_of(%w(66 63)) >> matched_split(
|
@@ -40,4 +44,4 @@ Phony.define do
|
|
40
44
|
fixed(2) >> matched_split(
|
41
45
|
/\A\d{5}\z/ => [3,2],
|
42
46
|
/\A\d+\z/ => [3,3])
|
43
|
-
end
|
47
|
+
end
|
@@ -192,7 +192,7 @@ describe 'plausibility' do
|
|
192
192
|
Phony.plausible?('+385 60 12 345').should be_truthy # Premium rate
|
193
193
|
Phony.plausible?('+385 62 123 456').should be_truthy # Premium, personal and UAN
|
194
194
|
end
|
195
|
-
it_is_correct_for "Côte d'Ivoire", :samples => '+225
|
195
|
+
it_is_correct_for "Côte d'Ivoire", :samples => '+225 01 9358 8764'
|
196
196
|
it_is_correct_for 'Democratic Republic of Timor-Leste', :samples => ['+670 465 7886', '+670 7465 7886']
|
197
197
|
it_is_correct_for 'Democratic Republic of the Congo', :samples => '+243 80 864 9794'
|
198
198
|
it_is_correct_for 'Diego Garcia', :samples => '+246 123 7686'
|
@@ -249,7 +249,14 @@ describe 'plausibility' do
|
|
249
249
|
end
|
250
250
|
it_is_correct_for 'French Guiana (French Department of)', :samples => '+594 594 123 456'
|
251
251
|
it_is_correct_for "French Polynesia (Territoire français d'outre-mer)", :samples => '+689 87 27 84 00'
|
252
|
-
|
252
|
+
it 'is correct for Gabon' do
|
253
|
+
Phony.plausible?('+241 1 627 739').should be_truthy
|
254
|
+
Phony.plausible?('+241 12 34 56 78').should be_truthy
|
255
|
+
end
|
256
|
+
# it_is_correct_for 'Gabonese Republic', :samples => [
|
257
|
+
# '+241 1 627 739',
|
258
|
+
# '+241 12 34 56 78',
|
259
|
+
# ]
|
253
260
|
it_is_correct_for 'Gambia', :samples => '+220 989 5148'
|
254
261
|
it_is_correct_for 'Germany', :samples => [
|
255
262
|
'+49 69 155 1',
|
@@ -420,8 +427,10 @@ describe 'plausibility' do
|
|
420
427
|
['+381 11 123 456', '+381 11 123 4567'],
|
421
428
|
'+381 72 123 456',
|
422
429
|
'+381 60 123',
|
423
|
-
'+381 60 123 4567',
|
430
|
+
['+381 60 123 4567', '+381 69 123 456'],
|
424
431
|
'+381 42 123 456',
|
432
|
+
'+381 677 123 456',
|
433
|
+
'+381 678 123 456',
|
425
434
|
'+381 9 123 4567',
|
426
435
|
'+381 60 123',
|
427
436
|
'+381 60 123 456 7890',
|
@@ -895,8 +895,8 @@ describe 'country descriptions' do
|
|
895
895
|
it_splits '50622345678', %w(506 2 234 5678)
|
896
896
|
end
|
897
897
|
describe "Côte d'Ivoire" do
|
898
|
-
it_splits '
|
899
|
-
it_splits '
|
898
|
+
it_splits '2250107335518', ['225', '01', '07', '33', '55', '18']
|
899
|
+
it_splits '2250237335518', ['225', '02', '37', '33', '55', '18']
|
900
900
|
end
|
901
901
|
describe 'Democratic Republic of Timor-Leste' do
|
902
902
|
it_splits '6701742945', ['670', false, '174', '2945']
|
@@ -959,6 +959,7 @@ describe 'country descriptions' do
|
|
959
959
|
end
|
960
960
|
describe 'Gabonese Republic' do
|
961
961
|
it_splits '2411834375', ['241', '1', '834', '375']
|
962
|
+
it_splits '24174012345', ['241', '74', '01', '23', '45']
|
962
963
|
end
|
963
964
|
describe 'Gambia' do
|
964
965
|
it_splits '2206683355', ['220', false, '668', '3355']
|
@@ -1163,6 +1164,17 @@ describe 'country descriptions' do
|
|
1163
1164
|
it_splits '2349087661234', %w(234 908 766 1234)
|
1164
1165
|
it_splits '2349097661234', %w(234 909 766 1234)
|
1165
1166
|
|
1167
|
+
it_splits '2349107661234', %w(234 910 766 1234)
|
1168
|
+
it_splits '2349117661234', %w(234 911 766 1234)
|
1169
|
+
it_splits '2349127661234', %w(234 912 766 1234)
|
1170
|
+
it_splits '2349137661234', %w(234 913 766 1234)
|
1171
|
+
it_splits '2349147661234', %w(234 914 766 1234)
|
1172
|
+
it_splits '2349157661234', %w(234 915 766 1234)
|
1173
|
+
it_splits '2349167661234', %w(234 916 766 1234)
|
1174
|
+
it_splits '2349177661234', %w(234 917 766 1234)
|
1175
|
+
it_splits '2349187661234', %w(234 918 766 1234)
|
1176
|
+
it_splits '2349197661234', %w(234 919 766 1234)
|
1177
|
+
|
1166
1178
|
it_splits '2348107661234', %w(234 810 766 1234)
|
1167
1179
|
it_splits '2348117661234', %w(234 811 766 1234)
|
1168
1180
|
it_splits '2348127661234', %w(234 812 766 1234)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.18.
|
4
|
+
version: 2.18.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Hanke
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 'Fast international phone number (E164 standard) normalizing, splitting
|
14
14
|
and formatting. Lots of formatting options: International (+.., 00..), national
|
@@ -95,11 +95,11 @@ files:
|
|
95
95
|
- spec/lib/phony/national_splitters/variable_spec.rb
|
96
96
|
- spec/lib/phony/vanity_spec.rb
|
97
97
|
- spec/lib/phony_spec.rb
|
98
|
-
homepage:
|
98
|
+
homepage: https://github.com/floere/phony
|
99
99
|
licenses:
|
100
100
|
- MIT
|
101
101
|
metadata: {}
|
102
|
-
post_install_message:
|
102
|
+
post_install_message:
|
103
103
|
rdoc_options: []
|
104
104
|
require_paths:
|
105
105
|
- lib
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
version: '0'
|
116
116
|
requirements: []
|
117
117
|
rubygems_version: 3.0.3
|
118
|
-
signing_key:
|
118
|
+
signing_key:
|
119
119
|
specification_version: 4
|
120
120
|
summary: Fast international phone number (E164 standard) normalizing, splitting and
|
121
121
|
formatting.
|