phony 2.0.0.beta9 → 2.0.0.beta10
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.
- checksums.yaml +8 -8
- data/lib/phony/countries.rb +5 -5
- data/spec/lib/phony/validations_spec.rb +18 -14
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2RiYWE2YjE2ZmM4NWFjZmQyMTI1NmFiYzQxNjNiOWQzYTM3M2VjZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDg1OGQwNGMxYzZlZDYyYjFkZjM0OGQ4YTVjZTYzODJjZjAwZjdhNw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTgxN2I0ZGVmZTZlZjU2M2Q5OGI4ZjcxMTAyMzQxMTA5N2ZkNGRiNWM5NDkx
|
10
|
+
M2FlNTNmNDA0Y2JkYjc1Yjc0M2QxNTk0Y2Q4MjBmNjFlMDUxMDBiN2JjMzg1
|
11
|
+
YTJhY2UxOGRiNjU4YzA5ZTNkMDY4YWI3NDg3ZGQ1ZmUwYTk1YmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZmVjNmYzNTY3ZDkyYzI0MDQwYTc3N2FhZjI5OWMzNjlhMDE2NTNjNTYyNzcw
|
14
|
+
MTJiNmVlN2EzYjU5ZDg2NTYwNmIzY2U1NDFhZDdiMzRmMzkxOTBjYWYyNDU5
|
15
|
+
MmEyOTBhNWM4ZWFlMThhNmVjNjI4MmU2OGY3MzI0OWUwNGNmMDU=
|
data/lib/phony/countries.rb
CHANGED
@@ -74,12 +74,12 @@ Phony.define do
|
|
74
74
|
# France.
|
75
75
|
#
|
76
76
|
country '33', fixed(1) >> split(2,2,2,2) # :service? => /^8.*$/, :mobile? => /^[67].*$/
|
77
|
-
|
77
|
+
|
78
78
|
# Spain.
|
79
79
|
#
|
80
80
|
country '34',
|
81
81
|
fixed(2) >> split(3,4)
|
82
|
-
|
82
|
+
|
83
83
|
# Hungary.
|
84
84
|
#
|
85
85
|
country '36',
|
@@ -231,7 +231,7 @@ Phony.define do
|
|
231
231
|
one_of('4', '8') >> split(7) |
|
232
232
|
match(/^(2[025679]|3[0136789]|5[23456789]|6[01234678]|7[02345679]|9[0-8])\d/) >> split(6) |
|
233
233
|
fixed(3) >> split(5)
|
234
|
-
|
234
|
+
|
235
235
|
# country '86' # China, see special file.
|
236
236
|
|
237
237
|
# Turkey.
|
@@ -351,7 +351,7 @@ Phony.define do
|
|
351
351
|
|
352
352
|
# Kenya
|
353
353
|
# http://en.wikipedia.org/wiki/Telephone_numbers_in_Kenya
|
354
|
-
country '254',
|
354
|
+
country '254',
|
355
355
|
match(/^(7\d\d)/) >> split(6) | # mobile
|
356
356
|
fixed(2) >> split(7) # landline
|
357
357
|
|
@@ -853,7 +853,7 @@ Phony.define do
|
|
853
853
|
# Cambodia (Kingdom of)
|
854
854
|
# http://en.wikipedia.org/wiki/Telephone_numbers_in_Cambodia
|
855
855
|
country '855',
|
856
|
-
fixed(2) >>
|
856
|
+
fixed(2) >> matched_split(/^\d{6}$/ => [3,3], /^\d{7}$/ => [3,4])
|
857
857
|
|
858
858
|
# Lao People's Democratic Republic http://www.wtng.info/wtng-856-la.html, https://www.numberingplans.com
|
859
859
|
country '856',
|
@@ -34,15 +34,15 @@ describe 'validations' do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
it 'does not change the given number' do
|
39
39
|
number = "123-123-1234"
|
40
|
-
|
40
|
+
|
41
41
|
Phony.plausible? number
|
42
|
-
|
42
|
+
|
43
43
|
number.should == '123-123-1234'
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
it 'handles small numbers' do
|
47
47
|
Phony.plausible?('353').should be_false
|
48
48
|
end
|
@@ -80,7 +80,7 @@ describe 'validations' do
|
|
80
80
|
it 'is correct' do
|
81
81
|
Phony.plausible?('hello').should be_false
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
it "is correct" do
|
85
85
|
Phony.plausible?('+41 44 111 22 33').should be_true
|
86
86
|
end
|
@@ -105,16 +105,16 @@ describe 'validations' do
|
|
105
105
|
it "works with regexps" do
|
106
106
|
Phony.plausible?('+41 44 111 22 33', cc: /4(0|1)/, ndc: /4(4|5)/).should be_true
|
107
107
|
end
|
108
|
-
|
108
|
+
|
109
109
|
context 'Length validation' do
|
110
110
|
it 'works for Swiss cases' do
|
111
111
|
Phony.plausible?('+41 44 111 22 3').should be_false # Not long enough is not ok.
|
112
112
|
# Phony.plausible?('+41 44 111 22 33 4').should be_true # TODO Too long is ok – we don't know about extensions.
|
113
113
|
end
|
114
114
|
end
|
115
|
-
|
115
|
+
|
116
116
|
context 'specific countries' do
|
117
|
-
|
117
|
+
|
118
118
|
# TODO: more needs to be done here
|
119
119
|
#
|
120
120
|
it "is correct for Swiss numbers" do
|
@@ -178,7 +178,7 @@ describe 'validations' do
|
|
178
178
|
# Sorry, still need E164 conform numbers.
|
179
179
|
#
|
180
180
|
Phony.plausible?('4346667777', cc: '1').should be_false
|
181
|
-
|
181
|
+
|
182
182
|
# Automatic country checking.
|
183
183
|
#
|
184
184
|
Phony.plausible?('1-4346667777').should be_true
|
@@ -187,13 +187,13 @@ describe 'validations' do
|
|
187
187
|
Phony.plausible?('1-911-123-1234').should be_false
|
188
188
|
Phony.plausible?('143466677777').should be_false # too long
|
189
189
|
Phony.plausible?('143466677').should be_false # too short
|
190
|
-
|
190
|
+
|
191
191
|
# With string constraints.
|
192
192
|
#
|
193
193
|
Phony.plausible?('14346667777', cc: '1').should be_true
|
194
194
|
Phony.plausible?('14346667777', ndc: '434').should be_true
|
195
195
|
Phony.plausible?('14346667777', cc: '1', ndc: '434').should be_true
|
196
|
-
|
196
|
+
|
197
197
|
# With regexp constraints.
|
198
198
|
#
|
199
199
|
Phony.plausible?('14346667777', cc: /[123]/).should be_true
|
@@ -323,6 +323,10 @@ describe 'validations' do
|
|
323
323
|
it_is_correct_for 'Brunei Darussalam', :samples => '+673 5 523 876'
|
324
324
|
it_is_correct_for 'Burkina Faso', :samples => '+226 1476 2312'
|
325
325
|
it_is_correct_for 'Burundi', :samples => '+257 1234 5678'
|
326
|
+
it_is_correct_for "Cambodia", :samples => [["+855 12 236 142",
|
327
|
+
"+855 97 710 0872"],
|
328
|
+
["+855 234 601 183",
|
329
|
+
"855 33 123 456"]]
|
326
330
|
it_is_correct_for 'Cameroon', :samples => '+237 7372 8186'
|
327
331
|
it_is_correct_for 'Cape Verde', :samples => '+238 642 3843'
|
328
332
|
it_is_correct_for 'Central African Republic', :samples => '+236 1234 5678'
|
@@ -649,7 +653,7 @@ describe 'validations' do
|
|
649
653
|
'+263 86 1235 4567']
|
650
654
|
|
651
655
|
end
|
652
|
-
|
656
|
+
|
653
657
|
end
|
654
|
-
|
655
|
-
end
|
658
|
+
|
659
|
+
end
|