phony 2.16.10 → 2.16.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/phony/countries/malaysia.rb +15 -0
- data/spec/functional/plausibility_spec.rb +2 -0
- data/spec/lib/phony/countries_spec.rb +1 -1
- data/spec/lib/phony_spec.rb +63 -67
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12a40a0fe9dcbc578b3f99963bef86135596894d1145cfe3582ddb088ca918f1
|
4
|
+
data.tar.gz: 58959c59c7641ed3ab70f0586bb64100bd599d2e2e0dce4c4bf46522d0231ba8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cef3550f87ea1c9b33e80358389b435c52a765445035d9f61a9c7ceee3c44e921a14505e34a88eb13fcc61b9378a104179512cf1024252bcc0510fce778a843c
|
7
|
+
data.tar.gz: 01a79012341a7758151d66b80877cc2dc865a1bafb605b897d2667a8dadbf3ed44fe7e00d04ef437b86abbd42a63231490b5e4d346592c8d7e4cc735ab544d60
|
@@ -10,6 +10,20 @@ ndcs = [
|
|
10
10
|
'7', # Johor (except Muar)
|
11
11
|
'9', # Kelantan, Pahang (except Cameron Highlands & Genting Highlands) & Terengganu
|
12
12
|
]
|
13
|
+
|
14
|
+
ndcs_two_digits = [
|
15
|
+
'80', # Domestic access code from East Malaysia to Brunei
|
16
|
+
'81', # Reserved number for future use
|
17
|
+
'82', # Sarawak – Kuching, Samarahan and Serian
|
18
|
+
'83', # Sarawak – Sri Aman and Betong
|
19
|
+
'84', # Sarawak – Sibu, Sarikei, Mukah and Kapit
|
20
|
+
'85', # Sarawak – Miri, Limbang and Lawas
|
21
|
+
'86', # Sarawak – Bintulu and Belaga
|
22
|
+
'87', # Labuan Interior Division, Sabah
|
23
|
+
'88', # Sabah – Kota Kinabalu and Kudat
|
24
|
+
'89', # Sabah – Lahad Datu, Sandakan and Tawau
|
25
|
+
]
|
26
|
+
|
13
27
|
mobile = %w{ 10 11 12 13 14 153 154 156 158 16 17 18 19 }
|
14
28
|
# service = %w{ 100 101 102 103 104 108 991 994 995 999 } # Emergeny and Service numbers, only 3 digits long
|
15
29
|
freephone = %w{ 300 700 800 }
|
@@ -23,6 +37,7 @@ Phony.define do
|
|
23
37
|
one_of(freephone) >> split(2,4) | # Freephone, Tollfree, Forwarding
|
24
38
|
# one_of(service) >> none | # Service
|
25
39
|
one_of(mobile) >> split(3,4..5) | # Mobile
|
40
|
+
one_of(ndcs_two_digits) >> split(6) | # 2-digit NDCs
|
26
41
|
one_of(ndcs) >> split(7) | # 1-digit NDCs
|
27
42
|
one_of(ndcs_eight) >> split(8) | # 1-digit NDCs
|
28
43
|
fixed(2) >> split(8) # 2-digit NDCs (Also, fallback)
|
@@ -589,6 +589,8 @@ describe 'plausibility' do
|
|
589
589
|
|
590
590
|
it 'is correct for Malaysia' do
|
591
591
|
Phony.plausible?('+60 5 123 1234').should be_truthy # Non Selangor Landline
|
592
|
+
Phony.plausible?('+60 3 1234 1234').should be_truthy # Selangor Landline
|
593
|
+
Phony.plausible?('+60 88 123 123').should be_truthy # Landline Sabah – Kota Kinabalu and Kudat
|
592
594
|
end
|
593
595
|
|
594
596
|
it 'is correct for Japan' do
|
@@ -641,7 +641,7 @@ describe 'country descriptions' do
|
|
641
641
|
it_splits '79991234567', ['7', '999', '123', '45', '67'] # Russia 3-digit
|
642
642
|
it_splits '7840121212', ['7', '840', '12', '1212'] # Abhasia
|
643
643
|
it_splits '7799121212', ['7', '799', '12', '1212'] # Kazachstan
|
644
|
-
it_splits '7995344121212', ['7','
|
644
|
+
it_splits '7995344121212', ['7', '995', '344','12','1212'] # South Osetia
|
645
645
|
it_splits '7209175276', ['7', '209', '17', '5276'] # Fantasy number
|
646
646
|
end
|
647
647
|
|
data/spec/lib/phony_spec.rb
CHANGED
@@ -1,74 +1,70 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Phony do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
described_class.normalize('000')
|
9
|
-
end.to raise_error(described_class::NormalizationError)
|
10
|
-
end
|
11
|
-
it 'is correctly raised on normalize' do
|
12
|
-
expect do
|
13
|
-
described_class.normalize('000')
|
14
|
-
end.to raise_error(%Q{Phony could not normalize the given number. Is it a phone number?})
|
15
|
-
end
|
16
|
-
it 'is correctly raised on normalize!' do
|
17
|
-
expect do
|
18
|
-
described_class.normalize!('000')
|
19
|
-
end.to raise_error(described_class::NormalizationError)
|
20
|
-
end
|
21
|
-
it 'is correctly raised on normalize!' do
|
22
|
-
expect do
|
23
|
-
described_class.normalize!('000')
|
24
|
-
end.to raise_error(%Q{Phony could not normalize the given number. Is it a phone number?})
|
25
|
-
end
|
3
|
+
describe Phony::NormalizationError do
|
4
|
+
it 'is correctly raised on normalize' do
|
5
|
+
expect do
|
6
|
+
Phony.normalize('000')
|
7
|
+
end.to raise_error(Phony::NormalizationError)
|
26
8
|
end
|
9
|
+
it 'is correctly raised on normalize' do
|
10
|
+
expect do
|
11
|
+
Phony.normalize('000')
|
12
|
+
end.to raise_error(%Q{Phony could not normalize the given number. Is it a phone number?})
|
13
|
+
end
|
14
|
+
it 'is correctly raised on normalize!' do
|
15
|
+
expect do
|
16
|
+
Phony.normalize!('000')
|
17
|
+
end.to raise_error(Phony::NormalizationError)
|
18
|
+
end
|
19
|
+
it 'is correctly raised on normalize!' do
|
20
|
+
expect do
|
21
|
+
Phony.normalize!('000')
|
22
|
+
end.to raise_error(%Q{Phony could not normalize the given number. Is it a phone number?})
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe Phony::SplittingError do
|
27
|
+
it 'is correctly raised on split' do
|
28
|
+
expect do
|
29
|
+
Phony.split('000')
|
30
|
+
end.to raise_error(Phony::SplittingError)
|
31
|
+
end
|
32
|
+
it 'is correctly raised on split' do
|
33
|
+
expect do
|
34
|
+
Phony.split('000')
|
35
|
+
end.to raise_error(%Q{Phony could not split the given number. Is "000" a phone number?})
|
36
|
+
end
|
37
|
+
it 'is correctly raised on split!' do
|
38
|
+
expect do
|
39
|
+
Phony.split!('000')
|
40
|
+
end.to raise_error(Phony::SplittingError)
|
41
|
+
end
|
42
|
+
it 'is correctly raised on split!' do
|
43
|
+
expect do
|
44
|
+
Phony.split!('000')
|
45
|
+
end.to raise_error(%Q{Phony could not split the given number. Is it a phone number?})
|
46
|
+
end
|
47
|
+
end
|
27
48
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
end
|
44
|
-
it 'is correctly raised on split!' do
|
45
|
-
expect do
|
46
|
-
described_class.split!('000')
|
47
|
-
end.to raise_error(%Q{Phony could not split the given number. Is it a phone number?})
|
48
|
-
end
|
49
|
+
describe Phony::FormattingError do
|
50
|
+
it 'is correctly raised on format' do
|
51
|
+
expect do
|
52
|
+
Phony.format('000')
|
53
|
+
end.to raise_error(Phony::FormattingError)
|
54
|
+
end
|
55
|
+
it 'is correctly raised on format' do
|
56
|
+
expect do
|
57
|
+
Phony.format('000')
|
58
|
+
end.to raise_error(%Q{Phony could not format the given number. Is it a phone number?})
|
59
|
+
end
|
60
|
+
it 'is correctly raised on format!' do
|
61
|
+
expect do
|
62
|
+
Phony.format!('000')
|
63
|
+
end.to raise_error(Phony::FormattingError)
|
49
64
|
end
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
described_class.format('000')
|
55
|
-
end.to raise_error(described_class::FormattingError)
|
56
|
-
end
|
57
|
-
it 'is correctly raised on format' do
|
58
|
-
expect do
|
59
|
-
described_class.format('000')
|
60
|
-
end.to raise_error(%Q{Phony could not format the given number. Is it a phone number?})
|
61
|
-
end
|
62
|
-
it 'is correctly raised on format!' do
|
63
|
-
expect do
|
64
|
-
described_class.format!('000')
|
65
|
-
end.to raise_error(described_class::FormattingError)
|
66
|
-
end
|
67
|
-
it 'is correctly raised on format!' do
|
68
|
-
expect do
|
69
|
-
described_class.format!('000')
|
70
|
-
end.to raise_error(%Q{Phony could not format the given number. Is it a phone number?})
|
71
|
-
end
|
65
|
+
it 'is correctly raised on format!' do
|
66
|
+
expect do
|
67
|
+
Phony.format!('000')
|
68
|
+
end.to raise_error(%Q{Phony could not format the given number. Is it a phone number?})
|
72
69
|
end
|
73
|
-
|
74
70
|
end
|
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.
|
4
|
+
version: 2.16.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Hanke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-15 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
|