phony 2.16.5 → 2.16.6

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
- SHA1:
3
- metadata.gz: 007664f345320ce791321f4caefa7547e51fc87f
4
- data.tar.gz: 88fa29994d4278c8a103b60286a920fb582582e2
2
+ SHA256:
3
+ metadata.gz: a692a55cbcbd9468fce9e49b6ea2e866695de5b32683b8e70fdeed9148bc26fa
4
+ data.tar.gz: 339527a9c152e964205ddc42f4c701ede918aa36d3c4fb861335800c78ad9e91
5
5
  SHA512:
6
- metadata.gz: 106d1d49a6bd3c4a2448e18c4bba3f8896c3a6cb46cf9597a0c9b0a8ff7c061cd877bd9b5189bedb68a193714e64c322b8658cf1345a6c563b323c334a4f2a76
7
- data.tar.gz: 3e23392df6d3f950664b15f3d3be277627d3b2f9242e8033d97a41c73e1d0b3d6d03e56e37e75bf922658e7dd578fd88209bff681b2dde76716284f5ede146dd
6
+ metadata.gz: 72558d720a71eeab6dd18b4b0c85c02e640688d0337a82a288434fec29c3f38df3b706ceef959f76b618b1c62f77bc8c792160c9f454115f419903ca8c9a15a6
7
+ data.tar.gz: bf64d35ba470fd802f5c63aec263703312ed5a3cf5266bc736c396d9c337ff3986619f90f733a94405e2fe935633fcfc0d57d24ccde9ab26ca06daaded00467f
@@ -685,13 +685,24 @@ Phony.define do
685
685
  # Note: https://en.wikipedia.org/wiki/Telephone_numbers_in_Bulgaria
686
686
  country '359',
687
687
  trunk('0') |
688
- one_of('2') >> matched_split(
689
- /\A\d{6}\z/ => [3,3], # Landline Sofia (optional last digit)
690
- /\A\d{7}\z/ => [3,4]) | # Landline Sofia
691
- fixed(2) >> matched_split(
692
- /\A\d{5}\z/ => [3,2], # Landline (optional last digit)
693
- /\A\d{6}\z/ => [3,3], # Landline
694
- /\A\d{7}\z/ => [3,4]) # Mobile
688
+ match(/^(2)\d{6}$/) >> split(3,3) | # Landline Sofia (optional last digit)
689
+ match(/^(2)\d{7}$/) >> split(3,4) | # Landline Sofia (optional last digit)
690
+ match(/^(30|31|33|36|37|39|41|43\d|45|47|51|53|55|57|59)\d{5}$/) >> split(5) |
691
+ match(/^(30|31|32|33|34|35|36|37|38|39|41|42|44|45|46|47|51|52|53|54|55|56|57|58|59)\d{6}$/) >> split(2,4) |
692
+
693
+ match(/^(60|61|63|65|66|69)\d{5}$/) >> split(5) |
694
+ match(/^(60|61|62|63|64|65|66|68|69)\d{6}$/) >> split(6) |
695
+
696
+ match(/^(700|701|703|704|705|706|707|708|709)\d{5}$/) >> split(5) |
697
+ match(/^(701|702|703|704|705|706|707|708|709)\d{4}$/) >> split(4) |
698
+
699
+ match(/^(71|72|74|75|77)\d{5}$/) >> split(5) |
700
+ match(/^(71|72|73|74|75|76|77|78|79)\d{6}$/) >> split(6) |
701
+
702
+ match(/^(80\d|81|91|93|95|97)\d{5}$/) >> split(5) |
703
+ match(/^(81|82|84|86)\d{6}$/) >> split(6) |
704
+ match(/^(87|88|89)\d{7}$/) >> split(4,3) |
705
+ match(/^(90|91|92|93|94|95|96|97|98\d|99\d)\d{6}$/) >> split(6)
695
706
 
696
707
  # Lithuania
697
708
  #
@@ -1155,7 +1166,7 @@ Phony.define do
1155
1166
  one_of(%w(500 700 900)) >> split(3,3) | # premium rate
1156
1167
  one_of('800') >> matched_split(
1157
1168
  /\A\d{2}\z/ => [2],
1158
- /\A\d+\z/ => [2,3,4]) | # freephone
1169
+ /\A\d+\z/ => [2,3,4])| # freephone
1159
1170
  one_of(%w(50 52 54 55 56 58)) >> split(3,4) | # mobile
1160
1171
  one_of(%w(2 3 4 6 7 9)) >> split(3,4) |
1161
1172
  fixed(1) >> split(3,4)
@@ -4,7 +4,6 @@
4
4
  #
5
5
  ndcs = [
6
6
  '2', # Singapore
7
- '3', # Selangor & Federal Territories of Kuala Lumpur & Putrajaya & also Genting Highlands, Pahang
8
7
  '4', # Kedah, Penang & Perlis
9
8
  '5', # Perak & Cameron Highlands (Pahang)
10
9
  '6', # Melaka, Negeri Sembilan & Muar (Johor)
@@ -14,6 +13,9 @@ ndcs = [
14
13
  mobile = %w{ 10 11 12 13 14 153 154 156 158 16 17 18 19 }
15
14
  # service = %w{ 100 101 102 103 104 108 991 994 995 999 } # Emergeny and Service numbers, only 3 digits long
16
15
  freephone = %w{ 300 700 800 }
16
+ ndcs_eight = [
17
+ '3' # Selangor & Federal Territories of Kuala Lumpur & Putrajaya & also Genting Highlands, Pahang
18
+ ]
17
19
 
18
20
  Phony.define do
19
21
  country '60',
@@ -21,6 +23,7 @@ Phony.define do
21
23
  one_of(freephone) >> split(2,4) | # Freephone, Tollfree, Forwarding
22
24
  # one_of(service) >> none | # Service
23
25
  one_of(mobile) >> split(3,4..5) | # Mobile
24
- one_of(ndcs) >> split(8) | # 1-digit NDCs
26
+ one_of(ndcs) >> split(7) | # 1-digit NDCs
27
+ one_of(ndcs_eight) >> split(8) | # 1-digit NDCs
25
28
  fixed(2) >> split(8) # 2-digit NDCs (Also, fallback)
26
29
  end
@@ -50,6 +50,134 @@ describe 'plausibility' do
50
50
  it_is_correct_for 'Bosnia and Herzegovina', :samples => ['+387 66 666 666',
51
51
  '+387 37 123 456',
52
52
  '+387 33 222 111']
53
+ it 'is correct for Bulgaria' do
54
+ Phony.plausible?('+359 2 1234567').should be_truthy
55
+ Phony.plausible?('+359 30 12345').should be_truthy
56
+ Phony.plausible?('+359 30 123456').should be_truthy
57
+ Phony.plausible?('+359 31 12345').should be_truthy
58
+ Phony.plausible?('+359 31 123456').should be_truthy
59
+ Phony.plausible?('+359 32 123456').should be_truthy
60
+ Phony.plausible?('+359 33 12345').should be_truthy
61
+ Phony.plausible?('+359 33 123456').should be_truthy
62
+ Phony.plausible?('+359 34 123456').should be_truthy
63
+ Phony.plausible?('+359 35 123456').should be_truthy
64
+ Phony.plausible?('+359 36 12345').should be_truthy
65
+ Phony.plausible?('+359 36 123456').should be_truthy
66
+ Phony.plausible?('+359 37 12345').should be_truthy
67
+ Phony.plausible?('+359 37 123456').should be_truthy
68
+ Phony.plausible?('+359 38 123456').should be_truthy
69
+ Phony.plausible?('+359 39 12345').should be_truthy
70
+ Phony.plausible?('+359 39 123456').should be_truthy
71
+ Phony.plausible?('+359 41 12345').should be_truthy
72
+ Phony.plausible?('+359 41 123456').should be_truthy
73
+ Phony.plausible?('+359 42 123456').should be_truthy
74
+ Phony.plausible?('+359 430 12345').should be_truthy
75
+ Phony.plausible?('+359 431 12345').should be_truthy
76
+ Phony.plausible?('+359 432 12345').should be_truthy
77
+ Phony.plausible?('+359 433 12345').should be_truthy
78
+ Phony.plausible?('+359 434 12345').should be_truthy
79
+ Phony.plausible?('+359 435 12345').should be_truthy
80
+ Phony.plausible?('+359 436 12345').should be_truthy
81
+ Phony.plausible?('+359 437 12345').should be_truthy
82
+ Phony.plausible?('+359 438 12345').should be_truthy
83
+ Phony.plausible?('+359 439 12345').should be_truthy
84
+ Phony.plausible?('+359 44 123456').should be_truthy
85
+ Phony.plausible?('+359 45 12345').should be_truthy
86
+ Phony.plausible?('+359 45 123456').should be_truthy
87
+ Phony.plausible?('+359 46 123456').should be_truthy
88
+ Phony.plausible?('+359 47 12345').should be_truthy
89
+ Phony.plausible?('+359 47 123456').should be_truthy
90
+ Phony.plausible?('+359 47 12345').should be_truthy
91
+ Phony.plausible?('+359 47 123456').should be_truthy
92
+ Phony.plausible?('+359 51 12345').should be_truthy
93
+ Phony.plausible?('+359 51 123456').should be_truthy
94
+ Phony.plausible?('+359 52 123456').should be_truthy
95
+ Phony.plausible?('+359 53 12345').should be_truthy
96
+ Phony.plausible?('+359 53 123456').should be_truthy
97
+ Phony.plausible?('+359 54 123456').should be_truthy
98
+ Phony.plausible?('+359 55 12345').should be_truthy
99
+ Phony.plausible?('+359 55 123456').should be_truthy
100
+ Phony.plausible?('+359 56 123456').should be_truthy
101
+ Phony.plausible?('+359 57 12345').should be_truthy
102
+ Phony.plausible?('+359 57 123456').should be_truthy
103
+ Phony.plausible?('+359 58 123456').should be_truthy
104
+ Phony.plausible?('+359 59 12345').should be_truthy
105
+ Phony.plausible?('+359 59 123456').should be_truthy
106
+ Phony.plausible?('+359 60 12345').should be_truthy
107
+ Phony.plausible?('+359 60 123456').should be_truthy
108
+ Phony.plausible?('+359 61 12345').should be_truthy
109
+ Phony.plausible?('+359 61 123456').should be_truthy
110
+ Phony.plausible?('+359 62 123456').should be_truthy
111
+ Phony.plausible?('+359 63 12345').should be_truthy
112
+ Phony.plausible?('+359 63 123456').should be_truthy
113
+ Phony.plausible?('+359 64 123456').should be_truthy
114
+ Phony.plausible?('+359 65 12345').should be_truthy
115
+ Phony.plausible?('+359 65 123456').should be_truthy
116
+ Phony.plausible?('+359 66 12345').should be_truthy
117
+ Phony.plausible?('+359 66 123456').should be_truthy
118
+ Phony.plausible?('+359 68 123456').should be_truthy
119
+ Phony.plausible?('+359 69 12345').should be_truthy
120
+ Phony.plausible?('+359 69 123456').should be_truthy
121
+ Phony.plausible?('+359 700 12345').should be_truthy
122
+ Phony.plausible?('+359 701 1234').should be_truthy
123
+ Phony.plausible?('+359 701 12345').should be_truthy
124
+ Phony.plausible?('+359 71 12345').should be_truthy
125
+ Phony.plausible?('+359 71 123456').should be_truthy
126
+ Phony.plausible?('+359 72 12345').should be_truthy
127
+ Phony.plausible?('+359 72 123456').should be_truthy
128
+ Phony.plausible?('+359 73 123456').should be_truthy
129
+ Phony.plausible?('+359 74 12345').should be_truthy
130
+ Phony.plausible?('+359 74 123456').should be_truthy
131
+ Phony.plausible?('+359 75 12345').should be_truthy
132
+ Phony.plausible?('+359 75 123456').should be_truthy
133
+ Phony.plausible?('+359 76 123456').should be_truthy
134
+ Phony.plausible?('+359 77 12345').should be_truthy
135
+ Phony.plausible?('+359 77 123456').should be_truthy
136
+ Phony.plausible?('+359 78 123456').should be_truthy
137
+ Phony.plausible?('+359 79 123456').should be_truthy
138
+ Phony.plausible?('+359 800 12345').should be_truthy
139
+ Phony.plausible?('+359 81 12345').should be_truthy
140
+ Phony.plausible?('+359 81 123456').should be_truthy
141
+ Phony.plausible?('+359 82 123456').should be_truthy
142
+ Phony.plausible?('+359 82 123456').should be_truthy
143
+ Phony.plausible?('+359 84 123456').should be_truthy
144
+ Phony.plausible?('+359 86 123456').should be_truthy
145
+ Phony.plausible?('+359 87 1234567').should be_truthy
146
+ Phony.plausible?('+359 88 1234567').should be_truthy
147
+ Phony.plausible?('+359 89 1234567').should be_truthy
148
+ Phony.plausible?('+359 90 123456').should be_truthy
149
+ Phony.plausible?('+359 91 12345').should be_truthy
150
+ Phony.plausible?('+359 91 123456').should be_truthy
151
+ Phony.plausible?('+359 92 123456').should be_truthy
152
+ Phony.plausible?('+359 93 12345').should be_truthy
153
+ Phony.plausible?('+359 93 123456').should be_truthy
154
+ Phony.plausible?('+359 94 123456').should be_truthy
155
+ Phony.plausible?('+359 95 12345').should be_truthy
156
+ Phony.plausible?('+359 95 123456').should be_truthy
157
+ Phony.plausible?('+359 96 123456').should be_truthy
158
+ Phony.plausible?('+359 97 12345').should be_truthy
159
+ Phony.plausible?('+359 97 123456').should be_truthy
160
+ Phony.plausible?('+359 980 123456').should be_truthy
161
+ Phony.plausible?('+359 981 123456').should be_truthy
162
+ Phony.plausible?('+359 982 123456').should be_truthy
163
+ Phony.plausible?('+359 983 123456').should be_truthy
164
+ Phony.plausible?('+359 984 123456').should be_truthy
165
+ Phony.plausible?('+359 985 123456').should be_truthy
166
+ Phony.plausible?('+359 986 123456').should be_truthy
167
+ Phony.plausible?('+359 987 123456').should be_truthy
168
+ Phony.plausible?('+359 988 123456').should be_truthy
169
+ Phony.plausible?('+359 989 123456').should be_truthy
170
+ Phony.plausible?('+359 990 123456').should be_truthy
171
+ Phony.plausible?('+359 991 123456').should be_truthy
172
+ Phony.plausible?('+359 992 123456').should be_truthy
173
+ Phony.plausible?('+359 993 123456').should be_truthy
174
+ Phony.plausible?('+359 994 123456').should be_truthy
175
+ Phony.plausible?('+359 995 123456').should be_truthy
176
+ Phony.plausible?('+359 996 123456').should be_truthy
177
+ Phony.plausible?('+359 997 123456').should be_truthy
178
+ Phony.plausible?('+359 998 123456').should be_truthy
179
+ Phony.plausible?('+359 999 123456').should be_truthy
180
+ end
53
181
  it_is_correct_for 'Congo', :samples => '+242 1234 56789'
54
182
  it_is_correct_for 'Cook Islands', :samples => '+682 71928'
55
183
  it_is_correct_for 'Costa Rica', :samples => '+506 2 234 5678'
@@ -430,6 +558,10 @@ describe 'plausibility' do
430
558
  Phony.plausible?('+359 30 123 123').should be_truthy # Landline
431
559
  Phony.plausible?('+359 89 123 1234').should be_truthy # Mobile
432
560
  end
561
+
562
+ it 'is correct for Malaysia' do
563
+ Phony.plausible?('+60 5 123 1234').should be_truthy # Non Selangor Landline
564
+ end
433
565
  end
434
566
  end
435
567
  end
@@ -179,6 +179,26 @@ describe 'country descriptions' do
179
179
  it_splits '55199', ['55', '199', ""]
180
180
  end
181
181
  end
182
+ describe "Bulgaria" do
183
+ it_splits '35929284000', ['359', '2', '928', '4000'] # Sofia
184
+ it_splits '359878357523', ['359', '87', '8357', '523']
185
+ it_splits '3593012345', ['359', '30', '12345']
186
+ it_splits '35930123456', ['359', '30', '12', '3456']
187
+ it_splits '35943312345', ['359', '433', '12345']
188
+ it_splits '3596012345', ['359', '60', '12345']
189
+ it_splits '35969123456', ['359', '69', '123456']
190
+ it_splits '35970512345', ['359', '705', '12345']
191
+ it_splits '3597051234', ['359', '705', '1234']
192
+ it_splits '3597112345', ['359', '71', '12345']
193
+ it_splits '35979123456', ['359', '79', '123456']
194
+ it_splits '35980112345', ['359', '801', '12345']
195
+ it_splits '3598112345', ['359', '81', '12345']
196
+ it_splits '35986123456', ['359', '86', '123456']
197
+ it_splits '359881234567', ['359', '88', '1234', '567']
198
+ it_splits '35990123456', ['359', '90', '123456']
199
+ it_splits '359988123456', ['359', '988', '123456']
200
+ it_splits '359998123456', ['359', '998', '123456']
201
+ end
182
202
  describe 'Cambodia' do
183
203
  it_splits '85512236142', ["855", "12", "236", "142"] # mobile (Mobitel)
184
204
  it_splits '855977100872', ["855", "97", "710", "0872"] # mobile (Metfone)
@@ -1308,6 +1328,8 @@ describe 'country descriptions' do
1308
1328
  describe 'United Arab Emirates' do
1309
1329
  it_splits '97180012', %w(971 800 12)
1310
1330
  it_splits '971800123456789', %w(971 800 12 345 6789)
1331
+ it_splits '97180012345678', %w(971 800 12 345 678)
1332
+ it_splits '9718001234567', %w(971 800 12 345 67)
1311
1333
  it_splits '97121234567', %w(971 2 123 4567)
1312
1334
  it_splits '971506412345', %w(971 50 641 2345)
1313
1335
  it_splits '971600641234', %w(971 600 641 234)
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.16.5
4
+ version: 2.16.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Hanke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-27 00:00:00.000000000 Z
11
+ date: 2018-11-13 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
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.6.13
115
+ rubygems_version: 2.7.6
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: Fast international phone number (E164 standard) normalizing, splitting and