phony 2.19.1 → 2.19.5
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: 992055cdb02a340ea072dfd5909e05fb5cab8bd2c223764539527a1b13635404
|
4
|
+
data.tar.gz: 2357031c39a1a1345fb84ef4800115f867c815627a018dc029660165f3f2c04c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a4c94d5e5af075704d1a4651160f98f00346a8885f4bb9a38b9d47bdec0749bb2c3b3442d3ece7e5fe9aa624e93ad21c26f780114c8e06a89de04ca2dd662dd
|
7
|
+
data.tar.gz: 38f16122cad2ee8b1ecdc909c12c3383d6a69072d5ddcbdfca49a88420df60d0e8874bb69f74b9da2804631951145625a4b843214ce925bdbc3a5b0e72d86426
|
@@ -11,6 +11,7 @@ Phony.define do
|
|
11
11
|
match(/\A(836)\d{5}\z/) >> split(1,4) | # 馬祖, start with 0836, plus 5 digits
|
12
12
|
match(/\A(82)\d{6}\z/) >> split(2,4) | # 金門, start with 082, plus 6 digits
|
13
13
|
match(/\A(89)\d{6}\z/) >> split(2,4) | # 臺東, start with 089, plus 6 digits
|
14
|
+
match(/\A(80\d)\d{6}\z/)>> split(3,4) | # Toll-free number
|
14
15
|
match(/\A(8)\d{7}\z/) >> split(3,4) | # 屏東, start with 08, plus 7 digits
|
15
16
|
match(/\A(49)\d{7}\z/) >> split(3,4) | # 南投, start with 049, plus 7 digits
|
16
17
|
one_of(%w(4)) >> matched_split(
|
data/lib/phony/countries.rb
CHANGED
@@ -154,6 +154,7 @@ Phony.define do
|
|
154
154
|
#
|
155
155
|
country '41',
|
156
156
|
trunk('0', normalize: true) |
|
157
|
+
match(/^(860)\d+$/) >> split(2, 3, 2, 2) | # Voice Mail access
|
157
158
|
match(/^(8(?:00|4[0248]))\d+$/) >> split(3,3) | # Freecall/Shared Cost
|
158
159
|
match(/^(90[016])\d+$/) >> split(3,3) | # Business
|
159
160
|
fixed(2) >> split(3,2,2)
|
@@ -486,9 +487,9 @@ Phony.define do
|
|
486
487
|
# http://www.wtng.info/wtng-260-zm.html
|
487
488
|
# https://github.com/googlei18n/libphonenumber/
|
488
489
|
country '260',
|
489
|
-
match(/^(
|
490
|
-
match(/^(800)/)
|
491
|
-
match(/^(21[1-8])/)
|
490
|
+
match(/^([79][5678]\d)/) >> split(6) | # Mobile
|
491
|
+
match(/^(800)/) >> split(3,3) | # Toll free
|
492
|
+
match(/^(21[1-8])/) >> split(6) # Fixed
|
492
493
|
|
493
494
|
# Madagascar http://www.wtng.info/wtng-261-mg.html
|
494
495
|
# http://www.itu.int/oth/T020200007F/en
|
@@ -992,7 +993,10 @@ Phony.define do
|
|
992
993
|
country '698', todo # -
|
993
994
|
country '699', todo # -
|
994
995
|
|
995
|
-
|
996
|
+
# International Freephone Service
|
997
|
+
# https://www.itu.int/en/ITU-T/inr/unum/Pages/uifn.aspx
|
998
|
+
country '800', none >> split(8)
|
999
|
+
|
996
1000
|
country '801', todo # -
|
997
1001
|
country '802', todo # -
|
998
1002
|
country '803', todo # -
|
@@ -1000,7 +1004,7 @@ Phony.define do
|
|
1000
1004
|
country '805', todo # -
|
1001
1005
|
country '806', todo # -
|
1002
1006
|
country '807', todo # -
|
1003
|
-
country '808',
|
1007
|
+
country '808', none >> split(12) # International Shared Cost Service (ISCS)
|
1004
1008
|
country '809', todo # -
|
1005
1009
|
|
1006
1010
|
country '830', todo # -
|
data/lib/phony/country.rb
CHANGED
@@ -97,6 +97,9 @@ module Phony
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
def format_cc_ndc trunk, ndc, local, type, space, parentheses, use_trunk
|
100
|
+
# Note: We mark NDCs that are of type "none" with false (nil trips plausible?). This would result in false being printed.
|
101
|
+
# Therefore we set NDC to nil when formatting.
|
102
|
+
ndc = nil if ndc == false
|
100
103
|
case type
|
101
104
|
when String
|
102
105
|
trunk &&= trunk.format(space, use_trunk)
|
@@ -125,6 +128,7 @@ module Phony
|
|
125
128
|
end
|
126
129
|
end
|
127
130
|
def format_ndc ndc, parentheses
|
131
|
+
ndc = nil if ndc == false # TODO
|
128
132
|
parentheses ? "(#{ndc})" : ndc
|
129
133
|
end
|
130
134
|
def format_with_ndc format, cc, ndc, local, space
|
@@ -31,9 +31,7 @@ module Phony
|
|
31
31
|
# since using nil is dangerous and breaks
|
32
32
|
# abstraction)
|
33
33
|
#
|
34
|
-
# Note:
|
35
|
-
#
|
36
|
-
# TODO Flip nil/false?
|
34
|
+
# Note: Decided it stays in. When formatting, it's turned into nil.
|
37
35
|
#
|
38
36
|
def split national_number
|
39
37
|
[nil, false, national_number]
|
@@ -255,7 +255,7 @@ describe 'plausibility' do
|
|
255
255
|
end
|
256
256
|
# it_is_correct_for 'Gabonese Republic', :samples => [
|
257
257
|
# '+241 1 627 739',
|
258
|
-
# '+241 12 34 56 78',
|
258
|
+
# '+241 12 34 56 78',
|
259
259
|
# ]
|
260
260
|
it_is_correct_for 'Gambia', :samples => '+220 989 5148'
|
261
261
|
it_is_correct_for 'Germany', :samples => [
|
@@ -568,6 +568,9 @@ describe 'plausibility' do
|
|
568
568
|
'+967 58 1234']
|
569
569
|
it 'is correct for Zambia' do
|
570
570
|
Phony.plausible?('+260 211 123456').should be_truthy # Fixed
|
571
|
+
Phony.plausible?('+260 761 123456').should be_truthy # Mobile
|
572
|
+
Phony.plausible?('+260 772 123456').should be_truthy # Mobile
|
573
|
+
Phony.plausible?('+260 783 123456').should be_truthy # Mobile
|
571
574
|
Phony.plausible?('+260 955 123456').should be_truthy # Mobile
|
572
575
|
Phony.plausible?('+260 967 123456').should be_truthy # Mobile
|
573
576
|
Phony.plausible?('+260 978 123456').should be_truthy # Mobile
|
@@ -762,6 +762,7 @@ describe 'country descriptions' do
|
|
762
762
|
describe 'Switzerland' do
|
763
763
|
it_splits '41443643532', ['41', '44', '364', '35', '32'] # Zurich (usually)
|
764
764
|
it_splits '41800334455', ['41', '800', '334', '455'] # Service number
|
765
|
+
it_splits '41860443643532', ['41', '860', '44', '364', '35', '32'] # Voicemail access
|
765
766
|
it_splits '41900123456', ['41', '900', '123', '456'] # Business Number
|
766
767
|
it_splits '41901123456', ['41', '901', '123', '456'] # Business Number Entertainment
|
767
768
|
it_splits '41906123456', ['41', '906', '123', '456'] # Business Number Adult Entertainment
|
@@ -1317,6 +1318,7 @@ describe 'country descriptions' do
|
|
1317
1318
|
it_splits '88633123456', %w(886 3 312 3456)
|
1318
1319
|
it_splits '88637123456', %w(886 37 12 3456)
|
1319
1320
|
it_splits '88682712345', %w(886 82 71 2345)
|
1321
|
+
it_splits '886801123123', %w(886 801 123 123)
|
1320
1322
|
it_splits '88689712345', %w(886 89 71 2345)
|
1321
1323
|
it_splits '88682672345', %w(886 826 7 2345)
|
1322
1324
|
it_splits '88683672345', %w(886 836 7 2345)
|
@@ -1427,6 +1429,14 @@ describe 'country descriptions' do
|
|
1427
1429
|
it_splits number, ['263', prefix, '234', '5678']
|
1428
1430
|
end
|
1429
1431
|
end
|
1432
|
+
|
1433
|
+
describe 'Universal International Freephone' do
|
1434
|
+
it_splits '80012345678', ['800', false, '12345678']
|
1435
|
+
end
|
1436
|
+
|
1437
|
+
describe 'Shared-Cost Service' do
|
1438
|
+
it_splits '80812345678', ['808', false, '12345678']
|
1439
|
+
end
|
1430
1440
|
end
|
1431
1441
|
|
1432
1442
|
end
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Hanke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-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
|