phony 2.20.13 → 2.20.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/phony/config.rb +25 -26
  3. data/lib/phony/countries/argentina.rb +311 -314
  4. data/lib/phony/countries/austria.rb +71 -72
  5. data/lib/phony/countries/bangladesh.rb +27 -28
  6. data/lib/phony/countries/belarus.rb +110 -111
  7. data/lib/phony/countries/brazil.rb +92 -92
  8. data/lib/phony/countries/cambodia.rb +9 -9
  9. data/lib/phony/countries/china.rb +22 -21
  10. data/lib/phony/countries/croatia.rb +6 -5
  11. data/lib/phony/countries/georgia.rb +84 -84
  12. data/lib/phony/countries/germany.rb +4067 -4068
  13. data/lib/phony/countries/guinea.rb +8 -8
  14. data/lib/phony/countries/india.rb +31 -34
  15. data/lib/phony/countries/indonesia.rb +57 -46
  16. data/lib/phony/countries/ireland.rb +4 -5
  17. data/lib/phony/countries/italy.rb +54 -53
  18. data/lib/phony/countries/japan.rb +456 -456
  19. data/lib/phony/countries/kyrgyzstan.rb +109 -109
  20. data/lib/phony/countries/latvia.rb +34 -34
  21. data/lib/phony/countries/libya.rb +106 -106
  22. data/lib/phony/countries/malaysia.rb +12 -12
  23. data/lib/phony/countries/moldova.rb +42 -42
  24. data/lib/phony/countries/montenegro.rb +24 -20
  25. data/lib/phony/countries/myanmar.rb +39 -39
  26. data/lib/phony/countries/namibia.rb +35 -29
  27. data/lib/phony/countries/nepal.rb +60 -62
  28. data/lib/phony/countries/netherlands.rb +13 -13
  29. data/lib/phony/countries/pakistan.rb +135 -111
  30. data/lib/phony/countries/paraguay.rb +135 -135
  31. data/lib/phony/countries/russia_kazakhstan_abkhasia_south_ossetia.rb +125 -128
  32. data/lib/phony/countries/saudi_arabia.rb +5 -5
  33. data/lib/phony/countries/serbia.rb +47 -39
  34. data/lib/phony/countries/somalia.rb +18 -18
  35. data/lib/phony/countries/south_korea.rb +16 -13
  36. data/lib/phony/countries/sweden.rb +28 -28
  37. data/lib/phony/countries/taiwan.rb +20 -19
  38. data/lib/phony/countries/tajikistan.rb +70 -70
  39. data/lib/phony/countries/turkmenistan.rb +65 -65
  40. data/lib/phony/countries/ukraine.rb +607 -607
  41. data/lib/phony/countries/united_kingdom.rb +66 -66
  42. data/lib/phony/countries/uruguay.rb +40 -41
  43. data/lib/phony/countries/vietnam.rb +18 -17
  44. data/lib/phony/countries/zimbabwe.rb +31 -31
  45. data/lib/phony/countries.rb +440 -443
  46. data/lib/phony/country.rb +42 -44
  47. data/lib/phony/country_codes.rb +61 -60
  48. data/lib/phony/dsl.rb +23 -26
  49. data/lib/phony/local_splitters/fixed.rb +20 -29
  50. data/lib/phony/local_splitters/regex.rb +28 -31
  51. data/lib/phony/national_code.rb +7 -10
  52. data/lib/phony/national_splitters/default.rb +9 -11
  53. data/lib/phony/national_splitters/dsl.rb +8 -18
  54. data/lib/phony/national_splitters/fixed.rb +11 -14
  55. data/lib/phony/national_splitters/none.rb +7 -11
  56. data/lib/phony/national_splitters/regex.rb +13 -17
  57. data/lib/phony/national_splitters/variable.rb +36 -38
  58. data/lib/phony/trunk_code.rb +16 -18
  59. data/lib/phony/vanity.rb +12 -13
  60. data/lib/phony.rb +84 -84
  61. metadata +5 -39
  62. data/spec/functional/config_spec.rb +0 -44
  63. data/spec/functional/plausibility_spec.rb +0 -689
  64. data/spec/lib/phony/countries_spec.rb +0 -1459
  65. data/spec/lib/phony/country_codes_spec.rb +0 -227
  66. data/spec/lib/phony/country_spec.rb +0 -104
  67. data/spec/lib/phony/dsl_spec.rb +0 -28
  68. data/spec/lib/phony/local_splitters/fixed_spec.rb +0 -56
  69. data/spec/lib/phony/local_splitters/regex_spec.rb +0 -94
  70. data/spec/lib/phony/national_code_spec.rb +0 -61
  71. data/spec/lib/phony/national_splitters/default_spec.rb +0 -34
  72. data/spec/lib/phony/national_splitters/fixed_spec.rb +0 -45
  73. data/spec/lib/phony/national_splitters/none_spec.rb +0 -28
  74. data/spec/lib/phony/national_splitters/regex_spec.rb +0 -23
  75. data/spec/lib/phony/national_splitters/variable_spec.rb +0 -35
  76. data/spec/lib/phony/trunk_code_spec.rb +0 -85
  77. data/spec/lib/phony/vanity_spec.rb +0 -30
  78. 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