phony 2.20.13 → 2.22.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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/README.textile +1 -1
  3. data/lib/phony/config.rb +25 -26
  4. data/lib/phony/countries/argentina.rb +311 -314
  5. data/lib/phony/countries/austria.rb +71 -72
  6. data/lib/phony/countries/bangladesh.rb +27 -28
  7. data/lib/phony/countries/belarus.rb +110 -111
  8. data/lib/phony/countries/brazil.rb +92 -92
  9. data/lib/phony/countries/cambodia.rb +9 -9
  10. data/lib/phony/countries/china.rb +22 -21
  11. data/lib/phony/countries/croatia.rb +6 -5
  12. data/lib/phony/countries/georgia.rb +84 -84
  13. data/lib/phony/countries/germany.rb +4067 -4068
  14. data/lib/phony/countries/guinea.rb +8 -8
  15. data/lib/phony/countries/india.rb +31 -34
  16. data/lib/phony/countries/indonesia.rb +57 -46
  17. data/lib/phony/countries/ireland.rb +4 -5
  18. data/lib/phony/countries/italy.rb +54 -53
  19. data/lib/phony/countries/japan.rb +456 -456
  20. data/lib/phony/countries/kyrgyzstan.rb +109 -109
  21. data/lib/phony/countries/latvia.rb +34 -34
  22. data/lib/phony/countries/libya.rb +106 -106
  23. data/lib/phony/countries/malaysia.rb +12 -12
  24. data/lib/phony/countries/moldova.rb +42 -42
  25. data/lib/phony/countries/montenegro.rb +24 -20
  26. data/lib/phony/countries/myanmar.rb +39 -39
  27. data/lib/phony/countries/namibia.rb +35 -29
  28. data/lib/phony/countries/nepal.rb +60 -62
  29. data/lib/phony/countries/netherlands.rb +13 -13
  30. data/lib/phony/countries/pakistan.rb +135 -111
  31. data/lib/phony/countries/paraguay.rb +135 -135
  32. data/lib/phony/countries/russia_kazakhstan_abkhasia_south_ossetia.rb +125 -128
  33. data/lib/phony/countries/saudi_arabia.rb +5 -5
  34. data/lib/phony/countries/serbia.rb +47 -39
  35. data/lib/phony/countries/somalia.rb +18 -18
  36. data/lib/phony/countries/south_korea.rb +16 -13
  37. data/lib/phony/countries/sweden.rb +28 -28
  38. data/lib/phony/countries/taiwan.rb +20 -19
  39. data/lib/phony/countries/tajikistan.rb +70 -70
  40. data/lib/phony/countries/turkmenistan.rb +65 -65
  41. data/lib/phony/countries/ukraine.rb +607 -607
  42. data/lib/phony/countries/united_kingdom.rb +66 -66
  43. data/lib/phony/countries/uruguay.rb +40 -41
  44. data/lib/phony/countries/vietnam.rb +19 -17
  45. data/lib/phony/countries/zimbabwe.rb +31 -31
  46. data/lib/phony/countries.rb +457 -443
  47. data/lib/phony/country.rb +44 -44
  48. data/lib/phony/country_codes.rb +67 -60
  49. data/lib/phony/dsl.rb +23 -26
  50. data/lib/phony/local_splitters/fixed.rb +23 -30
  51. data/lib/phony/local_splitters/regex.rb +30 -31
  52. data/lib/phony/national_code.rb +7 -10
  53. data/lib/phony/national_splitters/default.rb +9 -11
  54. data/lib/phony/national_splitters/dsl.rb +8 -18
  55. data/lib/phony/national_splitters/fixed.rb +12 -15
  56. data/lib/phony/national_splitters/none.rb +7 -11
  57. data/lib/phony/national_splitters/regex.rb +13 -17
  58. data/lib/phony/national_splitters/variable.rb +37 -38
  59. data/lib/phony/trunk_code.rb +20 -20
  60. data/lib/phony/vanity.rb +12 -13
  61. data/lib/phony.rb +84 -84
  62. metadata +5 -42
  63. data/spec/functional/config_spec.rb +0 -44
  64. data/spec/functional/plausibility_spec.rb +0 -689
  65. data/spec/lib/phony/countries_spec.rb +0 -1459
  66. data/spec/lib/phony/country_codes_spec.rb +0 -227
  67. data/spec/lib/phony/country_spec.rb +0 -104
  68. data/spec/lib/phony/dsl_spec.rb +0 -28
  69. data/spec/lib/phony/local_splitters/fixed_spec.rb +0 -56
  70. data/spec/lib/phony/local_splitters/regex_spec.rb +0 -94
  71. data/spec/lib/phony/national_code_spec.rb +0 -61
  72. data/spec/lib/phony/national_splitters/default_spec.rb +0 -34
  73. data/spec/lib/phony/national_splitters/fixed_spec.rb +0 -45
  74. data/spec/lib/phony/national_splitters/none_spec.rb +0 -28
  75. data/spec/lib/phony/national_splitters/regex_spec.rb +0 -23
  76. data/spec/lib/phony/national_splitters/variable_spec.rb +0 -35
  77. data/spec/lib/phony/trunk_code_spec.rb +0 -85
  78. data/spec/lib/phony/vanity_spec.rb +0 -30
  79. data/spec/lib/phony_spec.rb +0 -70
@@ -3,466 +3,466 @@
3
3
  # Japan
4
4
  # http://www.itu.int/oth/T020200006D/en
5
5
 
6
- ndcs_with_8_subscriber_numbers = %w(3 6)
6
+ ndcs_with_8_subscriber_numbers = %w[3 6]
7
7
 
8
- ndcs_with_7_subscriber_numbers = %w(
9
- 11
10
- 15
11
- 17
12
- 18
13
- 19
14
- 22
15
- 23
16
- 24
17
- 25
18
- 26
19
- 27
20
- 28
21
- 29
22
- 42
23
- 43
24
- 44
25
- 45
26
- 46
27
- 47
28
- 48
29
- 49
30
- 52
31
- 53
32
- 54
33
- 55
34
- 58
35
- 59
36
- 72
37
- 73
38
- 75
39
- 76
40
- 77
41
- 78
42
- 79
43
- 82
44
- 83
45
- 84
46
- 86
47
- 87
48
- 88
49
- 89
50
- 92
51
- 93
52
- 95
53
- 96
54
- 97
55
- 98
56
- 99
57
- )
8
+ ndcs_with_7_subscriber_numbers = %w[
9
+ 11
10
+ 15
11
+ 17
12
+ 18
13
+ 19
14
+ 22
15
+ 23
16
+ 24
17
+ 25
18
+ 26
19
+ 27
20
+ 28
21
+ 29
22
+ 42
23
+ 43
24
+ 44
25
+ 45
26
+ 46
27
+ 47
28
+ 48
29
+ 49
30
+ 52
31
+ 53
32
+ 54
33
+ 55
34
+ 58
35
+ 59
36
+ 72
37
+ 73
38
+ 75
39
+ 76
40
+ 77
41
+ 78
42
+ 79
43
+ 82
44
+ 83
45
+ 84
46
+ 86
47
+ 87
48
+ 88
49
+ 89
50
+ 92
51
+ 93
52
+ 95
53
+ 96
54
+ 97
55
+ 98
56
+ 99
57
+ ]
58
58
 
59
- ndcs_with_6_subscriber_numbers = %w(
60
- 123
61
- 124
62
- 125
63
- 126
64
- 133
65
- 134
66
- 135
67
- 136
68
- 137
69
- 138
70
- 139
71
- 142
72
- 143
73
- 144
74
- 145
75
- 146
76
- 152
77
- 153
78
- 154
79
- 155
80
- 156
81
- 157
82
- 158
83
- 162
84
- 163
85
- 164
86
- 165
87
- 166
88
- 167
89
- 172
90
- 173
91
- 174
92
- 175
93
- 176
94
- 178
95
- 179
96
- 182
97
- 183
98
- 184
99
- 185
100
- 186
101
- 187
102
- 191
103
- 192
104
- 193
105
- 194
106
- 195
107
- 197
108
- 198
109
- 220
110
- 223
111
- 224
112
- 225
113
- 226
114
- 228
115
- 229
116
- 233
117
- 234
118
- 235
119
- 237
120
- 238
121
- 240
122
- 241
123
- 242
124
- 243
125
- 244
126
- 246
127
- 247
128
- 248
129
- 250
130
- 254
131
- 255
132
- 256
133
- 257
134
- 258
135
- 259
136
- 260
137
- 261
138
- 263
139
- 264
140
- 265
141
- 266
142
- 267
143
- 268
144
- 269
145
- 270
146
- 274
147
- 276
148
- 277
149
- 278
150
- 279
151
- 280
152
- 282
153
- 283
154
- 284
155
- 285
156
- 287
157
- 288
158
- 289
159
- 291
160
- 293
161
- 294
162
- 295
163
- 296
164
- 297
165
- 299
166
- 422
167
- 428
168
- 436
169
- 438
170
- 439
171
- 460
172
- 463
173
- 465
174
- 466
175
- 467
176
- 470
177
- 475
178
- 476
179
- 478
180
- 479
181
- 480
182
- 493
183
- 494
184
- 495
185
- 531
186
- 532
187
- 533
188
- 536
189
- 537
190
- 538
191
- 539
192
- 544
193
- 545
194
- 547
195
- 548
196
- 550
197
- 551
198
- 553
199
- 554
200
- 555
201
- 556
202
- 557
203
- 558
204
- 561
205
- 562
206
- 563
207
- 564
208
- 565
209
- 566
210
- 567
211
- 568
212
- 569
213
- 572
214
- 573
215
- 574
216
- 575
217
- 576
218
- 577
219
- 578
220
- 581
221
- 584
222
- 585
223
- 586
224
- 587
225
- 594
226
- 595
227
- 596
228
- 597
229
- 598
230
- 599
231
- 721
232
- 725
233
- 735
234
- 736
235
- 737
236
- 738
237
- 739
238
- 740
239
- 742
240
- 743
241
- 744
242
- 745
243
- 746
244
- 747
245
- 748
246
- 749
247
- 761
248
- 763
249
- 765
250
- 766
251
- 767
252
- 768
253
- 770
254
- 771
255
- 772
256
- 773
257
- 774
258
- 776
259
- 778
260
- 779
261
- 790
262
- 791
263
- 794
264
- 795
265
- 796
266
- 797
267
- 798
268
- 799
269
- 820
270
- 823
271
- 824
272
- 826
273
- 827
274
- 829
275
- 833
276
- 834
277
- 835
278
- 836
279
- 837
280
- 838
281
- 845
282
- 846
283
- 847
284
- 848
285
- 852
286
- 853
287
- 854
288
- 855
289
- 856
290
- 857
291
- 858
292
- 859
293
- 863
294
- 865
295
- 866
296
- 867
297
- 868
298
- 869
299
- 875
300
- 877
301
- 879
302
- 880
303
- 883
304
- 884
305
- 885
306
- 887
307
- 889
308
- 892
309
- 893
310
- 894
311
- 895
312
- 896
313
- 897
314
- 898
315
- 920
316
- 930
317
- 940
318
- 942
319
- 943
320
- 944
321
- 946
322
- 947
323
- 948
324
- 949
325
- 950
326
- 952
327
- 954
328
- 955
329
- 956
330
- 957
331
- 959
332
- 964
333
- 965
334
- 966
335
- 967
336
- 968
337
- 969
338
- 972
339
- 973
340
- 974
341
- 977
342
- 978
343
- 979
344
- 980
345
- 982
346
- 983
347
- 984
348
- 985
349
- 986
350
- 987
351
- 993
352
- 994
353
- 995
354
- 996
355
- 997
356
- )
59
+ ndcs_with_6_subscriber_numbers = %w[
60
+ 123
61
+ 124
62
+ 125
63
+ 126
64
+ 133
65
+ 134
66
+ 135
67
+ 136
68
+ 137
69
+ 138
70
+ 139
71
+ 142
72
+ 143
73
+ 144
74
+ 145
75
+ 146
76
+ 152
77
+ 153
78
+ 154
79
+ 155
80
+ 156
81
+ 157
82
+ 158
83
+ 162
84
+ 163
85
+ 164
86
+ 165
87
+ 166
88
+ 167
89
+ 172
90
+ 173
91
+ 174
92
+ 175
93
+ 176
94
+ 178
95
+ 179
96
+ 182
97
+ 183
98
+ 184
99
+ 185
100
+ 186
101
+ 187
102
+ 191
103
+ 192
104
+ 193
105
+ 194
106
+ 195
107
+ 197
108
+ 198
109
+ 220
110
+ 223
111
+ 224
112
+ 225
113
+ 226
114
+ 228
115
+ 229
116
+ 233
117
+ 234
118
+ 235
119
+ 237
120
+ 238
121
+ 240
122
+ 241
123
+ 242
124
+ 243
125
+ 244
126
+ 246
127
+ 247
128
+ 248
129
+ 250
130
+ 254
131
+ 255
132
+ 256
133
+ 257
134
+ 258
135
+ 259
136
+ 260
137
+ 261
138
+ 263
139
+ 264
140
+ 265
141
+ 266
142
+ 267
143
+ 268
144
+ 269
145
+ 270
146
+ 274
147
+ 276
148
+ 277
149
+ 278
150
+ 279
151
+ 280
152
+ 282
153
+ 283
154
+ 284
155
+ 285
156
+ 287
157
+ 288
158
+ 289
159
+ 291
160
+ 293
161
+ 294
162
+ 295
163
+ 296
164
+ 297
165
+ 299
166
+ 422
167
+ 428
168
+ 436
169
+ 438
170
+ 439
171
+ 460
172
+ 463
173
+ 465
174
+ 466
175
+ 467
176
+ 470
177
+ 475
178
+ 476
179
+ 478
180
+ 479
181
+ 480
182
+ 493
183
+ 494
184
+ 495
185
+ 531
186
+ 532
187
+ 533
188
+ 536
189
+ 537
190
+ 538
191
+ 539
192
+ 544
193
+ 545
194
+ 547
195
+ 548
196
+ 550
197
+ 551
198
+ 553
199
+ 554
200
+ 555
201
+ 556
202
+ 557
203
+ 558
204
+ 561
205
+ 562
206
+ 563
207
+ 564
208
+ 565
209
+ 566
210
+ 567
211
+ 568
212
+ 569
213
+ 572
214
+ 573
215
+ 574
216
+ 575
217
+ 576
218
+ 577
219
+ 578
220
+ 581
221
+ 584
222
+ 585
223
+ 586
224
+ 587
225
+ 594
226
+ 595
227
+ 596
228
+ 597
229
+ 598
230
+ 599
231
+ 721
232
+ 725
233
+ 735
234
+ 736
235
+ 737
236
+ 738
237
+ 739
238
+ 740
239
+ 742
240
+ 743
241
+ 744
242
+ 745
243
+ 746
244
+ 747
245
+ 748
246
+ 749
247
+ 761
248
+ 763
249
+ 765
250
+ 766
251
+ 767
252
+ 768
253
+ 770
254
+ 771
255
+ 772
256
+ 773
257
+ 774
258
+ 776
259
+ 778
260
+ 779
261
+ 790
262
+ 791
263
+ 794
264
+ 795
265
+ 796
266
+ 797
267
+ 798
268
+ 799
269
+ 820
270
+ 823
271
+ 824
272
+ 826
273
+ 827
274
+ 829
275
+ 833
276
+ 834
277
+ 835
278
+ 836
279
+ 837
280
+ 838
281
+ 845
282
+ 846
283
+ 847
284
+ 848
285
+ 852
286
+ 853
287
+ 854
288
+ 855
289
+ 856
290
+ 857
291
+ 858
292
+ 859
293
+ 863
294
+ 865
295
+ 866
296
+ 867
297
+ 868
298
+ 869
299
+ 875
300
+ 877
301
+ 879
302
+ 880
303
+ 883
304
+ 884
305
+ 885
306
+ 887
307
+ 889
308
+ 892
309
+ 893
310
+ 894
311
+ 895
312
+ 896
313
+ 897
314
+ 898
315
+ 920
316
+ 930
317
+ 940
318
+ 942
319
+ 943
320
+ 944
321
+ 946
322
+ 947
323
+ 948
324
+ 949
325
+ 950
326
+ 952
327
+ 954
328
+ 955
329
+ 956
330
+ 957
331
+ 959
332
+ 964
333
+ 965
334
+ 966
335
+ 967
336
+ 968
337
+ 969
338
+ 972
339
+ 973
340
+ 974
341
+ 977
342
+ 978
343
+ 979
344
+ 980
345
+ 982
346
+ 983
347
+ 984
348
+ 985
349
+ 986
350
+ 987
351
+ 993
352
+ 994
353
+ 995
354
+ 996
355
+ 997
356
+ ]
357
357
 
358
- ndcs_with_5_subscriber_numbers = %w(
359
- 1267
360
- 1372
361
- 1374
362
- 1377
363
- 1392
364
- 1397
365
- 1398
366
- 1456
367
- 1457
368
- 1466
369
- 1547
370
- 1558
371
- 1564
372
- 1586
373
- 1587
374
- 1632
375
- 1634
376
- 1635
377
- 1648
378
- 1654
379
- 1655
380
- 1656
381
- 1658
382
- 4992
383
- 4994
384
- 4996
385
- 4998
386
- 5769
387
- 5979
388
- 7468
389
- 8387
390
- 8388
391
- 8396
392
- 8477
393
- 8512
394
- 8514
395
- 9496
396
- 9802
397
- 9912
398
- 9913
399
- 9969
400
- )
358
+ ndcs_with_5_subscriber_numbers = %w[
359
+ 1267
360
+ 1372
361
+ 1374
362
+ 1377
363
+ 1392
364
+ 1397
365
+ 1398
366
+ 1456
367
+ 1457
368
+ 1466
369
+ 1547
370
+ 1558
371
+ 1564
372
+ 1586
373
+ 1587
374
+ 1632
375
+ 1634
376
+ 1635
377
+ 1648
378
+ 1654
379
+ 1655
380
+ 1656
381
+ 1658
382
+ 4992
383
+ 4994
384
+ 4996
385
+ 4998
386
+ 5769
387
+ 5979
388
+ 7468
389
+ 8387
390
+ 8388
391
+ 8396
392
+ 8477
393
+ 8512
394
+ 8514
395
+ 9496
396
+ 9802
397
+ 9912
398
+ 9913
399
+ 9969
400
+ ]
401
401
 
402
402
  Phony.define do
403
403
  country '81',
404
- trunk('0', normalize: true, format: true, split: true) |
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) |
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) |
456
- one_of(ndcs_with_6_subscriber_numbers) >> split(2,4) |
457
- one_of(%w(120)) >> split(3,3) | # freephone
458
- one_of(%w(800)) >> split(3,4) | # freephone
459
- one_of(%w(180 570)) >> split(3,3) | # Tele-gong/Tele-dome, Navi-dial
460
- one_of(%w(170 990)) >> split(2,4) | # Dengon-dial, Dial Q2 (discontinued)
461
- one_of(%w(80)) >> split(4,4) | # mobile
462
- one_of(ndcs_with_7_subscriber_numbers) >> split(3,4) |
463
- one_of(ndcs_with_8_subscriber_numbers) >> split(4,4) |
464
- # TODO: 91(NDC) N(S)N length: 5-13 - Non-geographic number (Direct subscriber telephone service (legacy))
465
- fixed(2) >> split(4,4),
466
- local_space: :-,
467
- space: :-
404
+ trunk('0', normalize: true, format: true, split: true) |
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) |
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) |
456
+ one_of(ndcs_with_6_subscriber_numbers) >> split(2, 4) |
457
+ one_of(%w[120]) >> split(3, 3) | # freephone
458
+ one_of(%w[800]) >> split(3, 4) | # freephone
459
+ one_of(%w[180 570]) >> split(3, 3) | # Tele-gong/Tele-dome, Navi-dial
460
+ one_of(%w[170 990]) >> split(2, 4) | # Dengon-dial, Dial Q2 (discontinued)
461
+ one_of(%w[80]) >> split(4, 4) | # mobile
462
+ one_of(ndcs_with_7_subscriber_numbers) >> split(3, 4) |
463
+ one_of(ndcs_with_8_subscriber_numbers) >> split(4, 4) |
464
+ # TODO: 91(NDC) N(S)N length: 5-13 - Non-geographic number (Direct subscriber telephone service (legacy))
465
+ fixed(2) >> split(4, 4),
466
+ local_space: :-,
467
+ space: :-
468
468
  end