phony 2.19.10 → 2.19.13
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.
- checksums.yaml +4 -4
- data/lib/phony/countries/italy.rb +6 -1
- data/lib/phony/countries/japan.rb +51 -2
- data/lib/phony/countries.rb +1 -1
- data/spec/functional/plausibility_spec.rb +2 -1
- data/spec/lib/phony/countries_spec.rb +4 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c8b500d924945f02432d8c59be7c70a3de2b2ee90af197f746c325877be4e8e7
|
|
4
|
+
data.tar.gz: 2365b18fa83a7da4e57cca35985337d0962eb6929315818f415031ad2447a6b4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a27aae884d2a466dbb0bbe613190f4b052e458810f55b0d3764431252938863c47d8db22f0bedf3a08ff95cc4c2d45d9b5d5c6afbc69e60d0f75c6b2126fd1d1
|
|
7
|
+
data.tar.gz: 91f9d8805a7097fbd0bc2132e20c3e1bf91ccd1b02c107b30a191f9f42432f7337269794fc3cb0cdc90300bd9c38adb939b5157d8543329569c334ec981eed74
|
|
@@ -272,7 +272,12 @@ Phony.define do
|
|
|
272
272
|
country '39', trunk('', normalize: false) |
|
|
273
273
|
one_of(*service) >> split(3,3) |
|
|
274
274
|
one_of(*mobile) >> split(3,4,-1..1) |
|
|
275
|
-
one_of(*ndcs_2digit) >>
|
|
275
|
+
one_of(*ndcs_2digit) >> matched_split(
|
|
276
|
+
/\A\d{5}\z/ => [5],
|
|
277
|
+
/\A\d{6}\z/ => [4,2],
|
|
278
|
+
/\A\d{7}\z/ => [4,3],
|
|
279
|
+
/\A\d{8}\z/ => [4,4],
|
|
280
|
+
) |
|
|
276
281
|
one_of(*ndcs_3digit) >> matched_split(
|
|
277
282
|
/^1\d{6}$/ => [7],
|
|
278
283
|
/^1\d{7}$/ => [8],
|
|
@@ -403,7 +403,56 @@ Phony.define do
|
|
|
403
403
|
country '81',
|
|
404
404
|
trunk('0', normalize: true, format: true, split: true) |
|
|
405
405
|
one_of(%w(20 50 60 70 90)) >> split(4,4) | # mobile, VoIP telephony
|
|
406
|
+
match(/\A(597)9[0178]\d+\z/) >> split(2,4) |
|
|
406
407
|
one_of(ndcs_with_5_subscriber_numbers) >> split(1,4) |
|
|
408
|
+
match(/\A(4)70[019]\d+\z/) >> split(4,4) |
|
|
409
|
+
match(/\A(4)71\d+\z/) >> split(4,4) |
|
|
410
|
+
match(/\A(4)20\d+\z/) >> split(4,4) |
|
|
411
|
+
match(/\A(4)29[02-69]\d+\z/) >> split(4,4) |
|
|
412
|
+
match(/\A(15)4[018]\d+\z/) >> split(3,4) |
|
|
413
|
+
match(/\A(22)3[014-9]\d+\z/) >> split(3,4) |
|
|
414
|
+
match(/\A(25)[04][01]\d+\z/) >> split(3,4) |
|
|
415
|
+
match(/\A(25)5[0-69]\d+\z/) >> split(3,4) |
|
|
416
|
+
match(/\A(25)[68][01]\d+\z/) >> split(3,4) |
|
|
417
|
+
match(/\A(25)7[015-9]\d+\z/) >> split(3,4) |
|
|
418
|
+
match(/\A(25)917\d+\z/) >> split(3,4) |
|
|
419
|
+
match(/\A(25)999\d+\z/) >> split(3,4) |
|
|
420
|
+
match(/\A(26)4[016-9]\d+\z/) >> split(3,4) |
|
|
421
|
+
match(/\A(28)3[0134]\d+\z/) >> split(3,4) |
|
|
422
|
+
match(/\A(28)9[0-5]\d+\z/) >> split(3,4) |
|
|
423
|
+
match(/\A(29)17\d+\z/) >> split(3,4) |
|
|
424
|
+
match(/\A(29)3[015-9]\d+\z/) >> split(3,4) |
|
|
425
|
+
match(/\A(42)21\d+\z/) >> split(3,4) |
|
|
426
|
+
match(/\A(42)8[01456]\d+\z/) >> split(3,4) |
|
|
427
|
+
match(/\A(47)5[019]\d+\z/) >> split(3,4) |
|
|
428
|
+
match(/\A(47)9[019]\d+\z/) >> split(3,4) |
|
|
429
|
+
match(/\A(59)8[019]\d+\z/) >> split(3,4) |
|
|
430
|
+
match(/\A(59)9[01]\d+\z/) >> split(3,4) |
|
|
431
|
+
match(/\A(79)4[0-59]\d+\z/) >> split(3,4) |
|
|
432
|
+
match(/\A(79)5[01569]\d+\z/) >> split(3,4) |
|
|
433
|
+
match(/\A(79)6[0167]\d+\z/) >> split(3,4) |
|
|
434
|
+
match(/\A(82)4[0-39]\d+\z/) >> split(3,4) |
|
|
435
|
+
match(/\A(82)9[019]\d+\z/) >> split(3,4) |
|
|
436
|
+
match(/\A(82)92[1-9]\d+\z/) >> split(3,4) |
|
|
437
|
+
match(/\A(82)94[1-3]\d+\z/) >> split(3,4) |
|
|
438
|
+
match(/\A(82)96[0-47-9]\d+\z/) >> split(3,4) |
|
|
439
|
+
match(/\A(82)965[01346-9]\d+\z/) >> split(3,4) |
|
|
440
|
+
match(/\A(82)966[1-9]\d+\z/) >> split(3,4) |
|
|
441
|
+
match(/\A(83)76[6-8]\d+\z/) >> split(3,4) |
|
|
442
|
+
match(/\A(83)7[01789]\d+\z/) >> split(3,4) |
|
|
443
|
+
match(/\A(83)8[01]\d+\z/) >> split(3,4) |
|
|
444
|
+
match(/\A(86)36[23]\d+\z/) >> split(3,4) |
|
|
445
|
+
match(/\A(86)5[0-389]\d+\z/) >> split(3,4) |
|
|
446
|
+
match(/\A(86)55[23]\d+\z/) >> split(3,4) |
|
|
447
|
+
match(/\A(86)[01]\d+\z/) >> split(3,4) |
|
|
448
|
+
match(/\A(86)9[178]\d+\z/) >> split(3,4) |
|
|
449
|
+
match(/\A(86)72\d+\z/) >> split(3,4) |
|
|
450
|
+
match(/\A(86)8[019]\d+\z/) >> split(3,4) |
|
|
451
|
+
match(/\A(86)9[0145]\d+\z/) >> split(3,4) |
|
|
452
|
+
match(/\A(86)99[014-9]\d+\z/) >> split(3,4) |
|
|
453
|
+
match(/\A(99)331\d+\z/) >> split(3,4) |
|
|
454
|
+
match(/\A(99)34[357]\d+\z/) >> split(3,4) |
|
|
455
|
+
match(/\A(99)4[0178]\d+\z/) >> split(3,4) |
|
|
407
456
|
one_of(ndcs_with_6_subscriber_numbers) >> split(2,4) |
|
|
408
457
|
one_of(%w(120)) >> split(3,3) | # freephone
|
|
409
458
|
one_of(%w(800)) >> split(3,4) | # freephone
|
|
@@ -414,6 +463,6 @@ Phony.define do
|
|
|
414
463
|
one_of(ndcs_with_8_subscriber_numbers) >> split(4,4) |
|
|
415
464
|
# TODO: 91(NDC) N(S)N length: 5-13 - Non-geographic number (Direct subscriber telephone service (legacy))
|
|
416
465
|
fixed(2) >> split(4,4),
|
|
417
|
-
:
|
|
418
|
-
:
|
|
466
|
+
local_space: :-,
|
|
467
|
+
space: :-
|
|
419
468
|
end
|
data/lib/phony/countries.rb
CHANGED
|
@@ -977,7 +977,7 @@ Phony.define do
|
|
|
977
977
|
/\A800\d+\z/ => [3,3], # freephone
|
|
978
978
|
/\A830\d+\z/ => [3,3], # shared cost
|
|
979
979
|
/\A60\d+\z/ => [3,3], # wireless geographic
|
|
980
|
-
/\A(72|75|76|77)\d+\z/ => [3,4], # mobile
|
|
980
|
+
/\A(71|72|75|76|77)\d+\z/ => [3,4], # mobile
|
|
981
981
|
/\A84\d+\z/ => [3,4], # wireless geographic
|
|
982
982
|
/\A\d+\z/ => [2,3] # geographic
|
|
983
983
|
)
|
|
@@ -280,7 +280,8 @@ describe 'plausibility' do
|
|
|
280
280
|
it_is_correct_for 'Guinea-Bissau', :samples => '+245 44 728 6998'
|
|
281
281
|
it_is_correct_for 'Guyana', :samples => '+592 263 1234'
|
|
282
282
|
it_is_correct_for 'Honduras (Republic of)', :samples => '+504 12 961 637'
|
|
283
|
-
it_is_correct_for 'Italy', :samples => ['+39 0574 1234'
|
|
283
|
+
it_is_correct_for 'Italy', :samples => ['+39 0574 1234',
|
|
284
|
+
'+39 06 49911']
|
|
284
285
|
it_is_correct_for 'Iraq', :samples => ['+964 1 123 4567',
|
|
285
286
|
'+964 21 113 456',
|
|
286
287
|
'+964 71 1234 5678']
|
|
@@ -460,8 +460,9 @@ describe 'country descriptions' do
|
|
|
460
460
|
it_splits '3934869528123',['39', '348', '695', '2812', '3'] # Mobile (8-digit subscriber no - new)
|
|
461
461
|
it_splits '393357210488', ['39', '335', '721', '0488'] # Mobile
|
|
462
462
|
it_splits '393248644272', ['39', '324', '864', '4272'] # Mobile
|
|
463
|
-
it_splits '
|
|
464
|
-
it_splits '
|
|
463
|
+
it_splits '390612341', ['39', '06', '12341'] # Roma 5 digit
|
|
464
|
+
it_splits '3906123412', ['39', '06', '1234', '12'] # Roma 6 digit
|
|
465
|
+
it_splits '39061234123', ['39', '06', '1234', '123'] # Roma 7 digit
|
|
465
466
|
it_splits '390612341234', ['39', '06', '1234', '1234'] # Roma 8 digit
|
|
466
467
|
it_splits '3902888388', ['39', '02', '8883', '88'] # Milano 6 digit
|
|
467
468
|
it_splits '39028883888', ['39', '02', '8883', '888'] # Milano 7 digit
|
|
@@ -1235,6 +1236,7 @@ describe 'country descriptions' do
|
|
|
1235
1236
|
describe 'Samoa (Independent State of)' do
|
|
1236
1237
|
it_splits '685800123', ['685', false, '800', '123']
|
|
1237
1238
|
it_splits '68561123', ['685', false, '61', '123']
|
|
1239
|
+
it_splits '6857112345', ['685', false, '711', '2345']
|
|
1238
1240
|
it_splits '6857212345', ['685', false, '721', '2345']
|
|
1239
1241
|
it_splits '685830123', ['685', false, '830', '123']
|
|
1240
1242
|
it_splits '685601234', ['685', false, '601', '234']
|
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.19.
|
|
4
|
+
version: 2.19.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Hanke
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-06-24 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
|