phony 1.4.5 → 1.4.6
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/README.textile +2 -0
- data/lib/phony/countries.rb +6 -3
- data/spec/lib/phony/countries_spec.rb +35 -22
- metadata +2 -2
data/README.textile
CHANGED
data/lib/phony/countries.rb
CHANGED
@@ -253,9 +253,12 @@ Phony.define do
|
|
253
253
|
country '251', todo # Ethiopia
|
254
254
|
country '252', todo # Somali Democratic Republic
|
255
255
|
country '253', todo # Djibouti
|
256
|
-
country '254',
|
257
|
-
country '255',
|
258
|
-
|
256
|
+
country '254', fixed(2) >> split(7) # Kenya
|
257
|
+
country '255', match(/^([89]\d\d)/) >> split(3,3) | # Special/Premium. Tanzania
|
258
|
+
one_of('112', '118') >> split(3,3) | # Short Codes.
|
259
|
+
fixed(2) >> split(3,4) # Geographic.
|
260
|
+
country '256', match(/^(46[45]|4[78]\d)/) >> split(6) | # Geo 1. Uganda
|
261
|
+
fixed(2) >> split(7) # Geo 2.
|
259
262
|
country '257', todo # Burundi
|
260
263
|
country '258', todo # Mozambique
|
261
264
|
country '259', todo # -
|
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe 'country descriptions' do
|
6
6
|
|
7
|
-
describe
|
7
|
+
describe 'splitting' do
|
8
8
|
it 'handles afghan numbers' do
|
9
9
|
Phony.split('93201234567').should == ['93', '20', '1234567'] # Kabul
|
10
10
|
end
|
@@ -12,13 +12,13 @@ describe 'country descriptions' do
|
|
12
12
|
Phony.split('213211231234').should == ['213', '21', '123', '1234'] # Algiers
|
13
13
|
Phony.split('213331231234').should == ['213', '33', '123', '1234'] # Batna
|
14
14
|
end
|
15
|
-
it
|
15
|
+
it 'handles austrian numbers' do
|
16
16
|
Phony.split('43198110').should == ['43', '1', '98110'] # Vienna
|
17
17
|
Phony.split('4366914093902').should == ['43', '669', '14093902'] # Mobile
|
18
18
|
Phony.split('433161234567891').should == ['43', '316', '1234567891'] # Graz
|
19
19
|
Phony.split('432164123456789').should == ['43', '2164', '123456789'] # Rohrau
|
20
20
|
end
|
21
|
-
it
|
21
|
+
it 'handles australian numbers' do
|
22
22
|
Phony.split('61512341234').should == ['61', '5', '1234', '1234'] # Landline
|
23
23
|
Phony.split('61423123123').should == ['61', '423', '123', '123'] # Mobile
|
24
24
|
end
|
@@ -62,7 +62,7 @@ describe 'country descriptions' do
|
|
62
62
|
Phony.split('31201234567').should == ['31', '20', '1234567']
|
63
63
|
Phony.split('31222123456').should == ['31', '222', '123456']
|
64
64
|
end
|
65
|
-
it
|
65
|
+
it 'handles egyptian numbers' do
|
66
66
|
Phony.split('20212345678').should == ['20', '2', '12345678']
|
67
67
|
Phony.split('20921234567').should == ['20', '92', '1234567']
|
68
68
|
Phony.split('20951234567').should == ['20', '95', '1234567']
|
@@ -73,10 +73,10 @@ describe 'country descriptions' do
|
|
73
73
|
Phony.split('3585012312').should == ['358', '50', '123', '12'] # Mobile
|
74
74
|
Phony.split('358600123').should == ['358', '600', '123'] # Service
|
75
75
|
end
|
76
|
-
it
|
76
|
+
it 'handles french numbers' do
|
77
77
|
Phony.split('33112345678').should == ['33', '1', '12','34','56','78']
|
78
78
|
end
|
79
|
-
it
|
79
|
+
it 'handles german numbers' do
|
80
80
|
Phony.split('493038625454').should == ['49', '30', '386', '25454'] # Berlin
|
81
81
|
Phony.split('4922137683323').should == ['49', '221', '376', '83323'] # Cologne
|
82
82
|
Phony.split('497614767676').should == ['49', '761', '476', '7676'] # Freiburg im Breisgau
|
@@ -85,29 +85,33 @@ describe 'country descriptions' do
|
|
85
85
|
Phony.split('491805878323').should == ['49', '180', '587', '8323'] # Service numbers
|
86
86
|
Phony.split('491815878323').should == ['49', '181', '587', '8323'] # Service numbers
|
87
87
|
end
|
88
|
-
it
|
88
|
+
it 'handles greek numbers' do
|
89
89
|
Phony.split('3021123456').should == ['30', '21', '123456'] # Athens
|
90
90
|
Phony.split('3069512345').should == ['30', '695', '12345'] # Mobile
|
91
91
|
Phony.split('302108131234').should == ['30', '21', '08131234'] # Long mobile, noted by vilcsak in pull request #26.
|
92
92
|
Phony.split('3025941234').should == ['30', '2594', '1234']
|
93
93
|
Phony.split('3022631234').should == ['30', '2263', '1234']
|
94
94
|
end
|
95
|
-
it
|
95
|
+
it 'handles hungarian numbers' do
|
96
96
|
Phony.split('3612345678').should == ['36', '1', '234', '5678']
|
97
97
|
Phony.split('3622123456').should == ['36', '22', '123', '456']
|
98
98
|
end
|
99
|
-
it
|
99
|
+
it 'handles icelandic numbers' do
|
100
100
|
Phony.split('354112').should == ['354', '112'] # Emergency TODO
|
101
101
|
Phony.split('3544211234').should == ['354', '421', '1234'] # Keflavík
|
102
102
|
Phony.split('3544621234').should == ['354', '462', '1234'] # Akureyri
|
103
103
|
Phony.split('3545511234').should == ['354', '551', '1234'] # Reykjavík
|
104
104
|
end
|
105
|
-
it
|
105
|
+
it 'handles italian numbers' do
|
106
106
|
Phony.split('3934869528').should == ['39', '3486', '952', '8'] # Mobile
|
107
107
|
Phony.split('39068546705').should == ['39', '06', '854', '6705'] # Roma
|
108
108
|
Phony.split('390909709511').should == ['39', '090', '970', '9511'] # Barcellona
|
109
109
|
end
|
110
|
-
it
|
110
|
+
it 'handles kenyan numbers' do
|
111
|
+
Phony.split('254201234567').should == ['254', '20', '1234567'] # Nairobi
|
112
|
+
Phony.split('254111234567').should == ['254', '11', '1234567'] # Mombasa
|
113
|
+
end
|
114
|
+
it 'handles lithuanian numbers' do
|
111
115
|
Phony.split('37070012123').should == ['370', '700', '12', '123'] # Service
|
112
116
|
Phony.split('37061212123').should == ['370', '612', '12', '123'] # Mobile
|
113
117
|
Phony.split('37051231212').should == ['370', '5', '123', '12', '12'] # Vilnius
|
@@ -138,7 +142,7 @@ describe 'country descriptions' do
|
|
138
142
|
Phony.split('51912341234').should == ['51', '9', '1234', '1234'] # mobile
|
139
143
|
Phony.split('51841234123').should == ['51', '84', '1234', '123'] # Cuzco, best effort
|
140
144
|
end
|
141
|
-
it
|
145
|
+
it 'handles polish numbers' do
|
142
146
|
Phony.split('48123123123').should == ['48', '123', '123', '123']
|
143
147
|
end
|
144
148
|
it 'handles portuguese numbers' do
|
@@ -167,25 +171,34 @@ describe 'country descriptions' do
|
|
167
171
|
Phony.split('21611231234').should == ['216', '1', '123', '1234'] # Ariana
|
168
172
|
Phony.split('21621231234').should == ['216', '2', '123', '1234'] # Bizerte
|
169
173
|
end
|
170
|
-
it
|
174
|
+
it 'handles singaporean numbers' do
|
171
175
|
Phony.split('6561231234').should == ['65', '6123', '1234'] # Fixed line
|
172
176
|
end
|
173
|
-
it
|
177
|
+
it 'handles slovakian numbers' do
|
174
178
|
Phony.split('421912123456').should == ['421', '912', '123456'] # Mobile
|
175
179
|
Phony.split('421212345678').should == ['421', '2', '12345678'] # Bratislava
|
176
180
|
Phony.split('421371234567').should == ['421', '37', '1234567'] # Nitra / Other
|
177
181
|
end
|
178
|
-
it
|
182
|
+
it 'handles swedish numbers' do
|
179
183
|
Phony.split('46812345678').should == ['46', '8', '12345678'] # Stockholm
|
180
184
|
Phony.split('46111234567').should == ['46', '11', '1234567']
|
181
185
|
Phony.split('46125123456').should == ['46', '125', '123456']
|
182
186
|
end
|
183
|
-
it
|
187
|
+
it 'handles swiss numbers' do
|
184
188
|
Phony.split('41443643532').should == ['41', '44', '364', '35', '32']
|
185
189
|
end
|
190
|
+
it 'handles tanzanian numbers' do
|
191
|
+
Phony.split('255221231234').should == ['255', '22', '123', '1234'] # Dar Es Salaam
|
192
|
+
Phony.split('255651231234').should == ['255', '65', '123', '1234'] # TIGO
|
193
|
+
Phony.split('255861123123').should == ['255', '861', '123', '123'] # Special Rates
|
194
|
+
end
|
186
195
|
it 'handles turkish numbers' do
|
187
196
|
Phony.split('903121234567').should == ['90', '312', '123', '4567'] # Ankara
|
188
197
|
end
|
198
|
+
it 'handles ugandan numbers' do
|
199
|
+
Phony.split('256414123456').should == ['256', '41', '4123456'] # Kampania
|
200
|
+
Phony.split('256464441234').should == ['256', '464', '441234'] # Mubende
|
201
|
+
end
|
189
202
|
it 'handles UK numbers' do
|
190
203
|
Phony.split('442045671113').should == ['44', '20', '4567', '1113'] # London
|
191
204
|
Phony.split('442076229901').should == ['44', '20', '7622', '9901'] # Cardiff
|
@@ -197,20 +210,20 @@ describe 'country descriptions' do
|
|
197
210
|
Phony.split('447480605207').should == ['44', '7480', '605207'] # Mobile
|
198
211
|
Phony.split('448005878323').should == ['44', '800', '587', '8323'] # Service, regression
|
199
212
|
end
|
200
|
-
it
|
213
|
+
it 'handles US numbers' do
|
201
214
|
Phony.split('15551115511').should == ['1', '555', '111', '5511']
|
202
215
|
end
|
203
|
-
it
|
204
|
-
Phony.split('582121234567').should == [
|
216
|
+
it 'handles venezuelan numbers' do
|
217
|
+
Phony.split('582121234567').should == ['58', '212', '1234567']
|
205
218
|
end
|
206
|
-
it
|
219
|
+
it 'handles new zealand numbers' do
|
207
220
|
Phony.split('6491234567').should == ['64', '9', '123', '4567']
|
208
221
|
end
|
209
222
|
|
210
|
-
it
|
223
|
+
it 'handles french service numbers' do
|
211
224
|
Phony.split('33812345678').should == ['33', '8', '12','34','56','78']
|
212
225
|
end
|
213
|
-
it
|
226
|
+
it 'handles swiss service numbers' do
|
214
227
|
Phony.split('41800334455').should == ['41', '800', '334', '455']
|
215
228
|
end
|
216
229
|
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.4.
|
4
|
+
version: 1.4.6
|
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: 2011-
|
12
|
+
date: 2011-10-11 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
description: ! 'Fast international phone number (E164 standard) normalizing, splitting
|