phony 1.8.1 → 1.8.2
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.
- data/lib/phony/countries.rb +31 -5
- data/spec/lib/phony/countries_spec.rb +35 -0
- metadata +3 -2
data/lib/phony/countries.rb
CHANGED
@@ -355,7 +355,11 @@ Phony.define do
|
|
355
355
|
country '298', todo # Faroe Islands
|
356
356
|
country '299', todo # Greenland
|
357
357
|
|
358
|
-
|
358
|
+
# Gibraltar
|
359
|
+
country '350',
|
360
|
+
match(/^(2[012]\d)\d+$/) >> split(5) | # fixed
|
361
|
+
match(/^([56]\d)\d+$/) >> split(6) | # mobile
|
362
|
+
match(/^(8\d\d\d)$/) >> split(0)
|
359
363
|
|
360
364
|
# Portugal.
|
361
365
|
#
|
@@ -378,8 +382,19 @@ Phony.define do
|
|
378
382
|
|
379
383
|
country '354', none >> split(3,4) # Iceland
|
380
384
|
country '355', todo # Albania
|
381
|
-
|
382
|
-
|
385
|
+
|
386
|
+
# Malta
|
387
|
+
# http://en.wikipedia.org/wiki/Telephone_numbers_in_Malta
|
388
|
+
country '356',
|
389
|
+
match(/^([79]\d)\d+$/) >> split(6) | # mobile
|
390
|
+
match(/^(2\d\d\d)\d+$/) >> split(4) | # fixed line
|
391
|
+
fixed(4) >> split(4) # eg. with voice mail
|
392
|
+
|
393
|
+
|
394
|
+
# Cyprus
|
395
|
+
# http://www.cytaglobal.com/cytaglobal/userfiles/NewNumberingPlan.pdf
|
396
|
+
country '357', one_of('121','122','123') >> split(2,6) | # voicemail
|
397
|
+
fixed(2) >> split(6) # fixed & mobile
|
383
398
|
|
384
399
|
# Finland.
|
385
400
|
#
|
@@ -404,12 +419,23 @@ Phony.define do
|
|
404
419
|
fixed(3) >> split(1,2,2) # 3-digit NDCs.
|
405
420
|
|
406
421
|
country '371', todo # Latvia
|
407
|
-
|
422
|
+
|
423
|
+
# Estonia
|
424
|
+
country '372',
|
425
|
+
match(/^(5\d\d\d)\d+$/) >> split(4) | # Mobile
|
426
|
+
match(/^((?:70|8[12])\d\d)\d+$/) >> split(4) | # Mobile
|
427
|
+
fixed(3) >> split(4) # 3-digit NDCs
|
428
|
+
|
408
429
|
country '373', todo # Moldova
|
409
430
|
country '374', todo # Armenia
|
410
431
|
country '375', todo # Belarus
|
411
432
|
country '376', todo # Andorra
|
412
|
-
|
433
|
+
|
434
|
+
# Monaco
|
435
|
+
country '377',
|
436
|
+
one_of('6') >> split(2,2,2,2) | # mobile
|
437
|
+
fixed(2) >> split(2,2,2)
|
438
|
+
|
413
439
|
country '378', todo # San Marino
|
414
440
|
country '379', todo # Vatican City State
|
415
441
|
|
@@ -69,6 +69,11 @@ describe 'country descriptions' do
|
|
69
69
|
it_splits '5371234567', ['53', '7', '1234567'] # Havana
|
70
70
|
it_splits '5342123456', ['53', '42', '123456'] # Villa Clara
|
71
71
|
end
|
72
|
+
describe 'Cyprus' do
|
73
|
+
it_splits '35712322123456', ['357', '123', '22', '123456'] # Voicemail
|
74
|
+
it_splits '35722123456', ['357', '22', '123456'] # Fixed
|
75
|
+
it_splits '35791123456', ['357', '91', '123456'] # Mobile
|
76
|
+
end
|
72
77
|
describe 'Denmark' do
|
73
78
|
it_splits '4532121212', ['45', false, '32', '12', '12', '12']
|
74
79
|
end
|
@@ -77,6 +82,15 @@ describe 'country descriptions' do
|
|
77
82
|
it_splits '20921234567', ['20', '92', '1234567']
|
78
83
|
it_splits '20951234567', ['20', '95', '1234567']
|
79
84
|
end
|
85
|
+
describe 'Estonia' do
|
86
|
+
it_splits '3723212345', ['372', '321', '2345'] # Landline
|
87
|
+
it_splits '37251231234', ['372', '5123', '1234'] # Mobile
|
88
|
+
it_splits '3728001234', ['372', '800', '1234'] # Freephone
|
89
|
+
it_splits '37281231234', ['372', '8123', '1234'] # Mobile
|
90
|
+
it_splits '37282231234', ['372', '8223', '1234'] # Mobile
|
91
|
+
it_splits '37283212345', ['372', '832', '12345'] # Mobile
|
92
|
+
it_splits '37270121234', ['372', '7012', '1234'] # Premium
|
93
|
+
end
|
80
94
|
describe 'Finland' do
|
81
95
|
it_splits '3589123123', ['358', '9', '123', '123'] # Helsinki
|
82
96
|
it_splits '3581912312', ['358', '19', '123', '12'] # Nylandia
|
@@ -100,6 +114,17 @@ describe 'country descriptions' do
|
|
100
114
|
describe 'Ghana' do
|
101
115
|
it_splits '233302123456', ['233', '30', '212', '3456'] # Mobile Vodafone, Accra
|
102
116
|
end
|
117
|
+
describe 'Gibraltar' do
|
118
|
+
it_splits '35020012345', ['350', '200', '12345'] # Fixed
|
119
|
+
it_splits '35021112345', ['350', '211', '12345'] # Fixed
|
120
|
+
it_splits '35022212345', ['350', '222', '12345'] # Fixed
|
121
|
+
it_splits '35054123456', ['350', '54', '123456'] # Mobile
|
122
|
+
it_splits '35056123456', ['350', '56', '123456'] # Mobile
|
123
|
+
it_splits '35057123456', ['350', '57', '123456'] # Mobile
|
124
|
+
it_splits '35058123456', ['350', '58', '123456'] # Mobile
|
125
|
+
it_splits '35060123456', ['350', '60', '123456'] # Mobile
|
126
|
+
it_splits '3508012', ['350', '8012', '' ] # Freephone
|
127
|
+
end
|
103
128
|
describe 'Greece' do
|
104
129
|
it_splits '3021123456', ['30', '21', '123456'] # Athens
|
105
130
|
it_splits '3069512345', ['30', '695', '12345'] # Mobile
|
@@ -156,10 +181,20 @@ describe 'country descriptions' do
|
|
156
181
|
it_splits '60312345678', ['60', '3', '12345678'] # Kuala Lumpur
|
157
182
|
it_splits '60212345678', ['60', '2', '12345678'] # Singapore
|
158
183
|
end
|
184
|
+
describe 'Malta' do
|
185
|
+
it_splits '35621231234', ['356', '2123', '1234'] # Fixed
|
186
|
+
it_splits '35677123456', ['356', '77', '123456'] # Mobile
|
187
|
+
it_splits '35698123456', ['356', '98', '123456'] # Mobile
|
188
|
+
it_splits '35651231234', ['356', '5123', '1234'] # Voice Mail
|
189
|
+
end
|
159
190
|
describe 'Mexico' do
|
160
191
|
it_splits '525512121212', ['52', '55', '12', '12', '12', '12'] # Mexico City
|
161
192
|
it_splits '526641231212', ['52', '664', '123', '12', '12'] # Tijuana
|
162
193
|
end
|
194
|
+
describe 'Monaco' do
|
195
|
+
it_splits '37741123456', ['377', '41', '12', '34', '56'] # Mobile
|
196
|
+
it_splits '377612345678', ['377', '6', '12', '34', '56', '78'] # Mobile
|
197
|
+
end
|
163
198
|
describe 'Morocco' do
|
164
199
|
it_splits '212537718685', ['212', '53', '7718', '685']
|
165
200
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-10 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Fast international phone number (E164 standard) normalizing, splitting
|
15
15
|
and formatting. Lots of formatting options: International (+.., 00..), national
|
@@ -103,3 +103,4 @@ test_files:
|
|
103
103
|
- spec/lib/phony/validations_spec.rb
|
104
104
|
- spec/lib/phony/vanity_spec.rb
|
105
105
|
- spec/lib/phony_spec.rb
|
106
|
+
has_rdoc: false
|