phony 2.2.15 → 2.2.16
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
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NDA4YjdhYTk0MGE4MTkxMzNhZWE5MDZiOWJlMTRkMGQ1YWJiZDVmZjdhNTc4
|
10
|
-
ZDA2YjliYTYyMzc2NWEzYzljYWMyYWVjNjFmMjA2YmY5Y2ZkZjI3OTA2NWNl
|
11
|
-
MmY3Y2UzODg3MWY2OGMwYTMxYzQ1NzAyZDdiMzk4MjRlMzFmMmU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NDI1NGJjOWQ5MDgyZDhhZGRiMGI0MjE4OWZhNDAzYmViZGZlMTBjYTFjMmQx
|
14
|
-
N2JlMzIyY2U3OTIxNDYxOTk4NDkxNmViZGJiZjFjNWM3ZDg4ODljZTJkNzVm
|
15
|
-
ZjEyOWNiM2Y2Zjg0OGI3MThiOWRmMGY0YjI0MDIwODc5ZjZiYzk=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3d8710a24e82893cf992f1f78257fc8170f63b50
|
4
|
+
data.tar.gz: 14e5ee3227225b131fcfcf44dabf870cd19d0120
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 60b52b683503709334ac1c2f946b81d1715a567b27fd18d010fef5d01180979605821cf4d5c8dfdf2e65e437525668143f72ef0dbce251f047835214ade2d774
|
7
|
+
data.tar.gz: 2bd8cdb967fb9624b268f7bdd009652edc13aea73a979f669d81a52589fe19a9b4190074814366affa1ecdf91c4952990968fa51a3e8d744fcce5fecdc9a35d1
|
data/lib/phony/countries.rb
CHANGED
@@ -80,8 +80,14 @@ Phony.define do
|
|
80
80
|
|
81
81
|
# Spain.
|
82
82
|
#
|
83
|
+
# http://www.minetur.gob.es/telecomunicaciones/es-es/servicios/numeracion/paginas/plan.aspx
|
84
|
+
#
|
83
85
|
country '34',
|
84
|
-
|
86
|
+
match(/^([67]\d{2})\d+$/) >> split(3,3) | # Mobile
|
87
|
+
match(/^([89]0\d)\d+$/) >> split(3,3) | # Special 80X & 90X numbers
|
88
|
+
one_of(%w(91 93)) >> split(3,2,2) | # Landline large regions
|
89
|
+
match(/^(9\d{2})\d+$/) >> split(2,2,2) | # Landline
|
90
|
+
fixed(3, :zero => false) >> split(3,3)
|
85
91
|
|
86
92
|
# Hungary.
|
87
93
|
#
|
@@ -83,12 +83,12 @@ service = [
|
|
83
83
|
# TODO Add more details.
|
84
84
|
#
|
85
85
|
Phony.define do
|
86
|
-
country '43', one_of('1') >> split(
|
86
|
+
country '43', one_of('1') >> split(3..12) | # Vienna
|
87
87
|
one_of(service) >> split(9..9) |
|
88
88
|
one_of(corporate) >> split(5..5) |
|
89
89
|
one_of(ndcs) >> split(6..6) |
|
90
90
|
one_of('663') >> split(6..6) | # 6 digit mobile.
|
91
|
-
one_of(mobile) >> split(
|
91
|
+
one_of(mobile) >> split(4,3..4) |
|
92
92
|
one_of(mobile_2digit) >> split(7..7) | # Separate as mobile contains 676 - 67 violates the prefix rule.
|
93
93
|
fixed(4) >> split(7..7)
|
94
94
|
end
|
data/lib/phony/country_codes.rb
CHANGED
@@ -166,18 +166,18 @@ module Phony
|
|
166
166
|
|
167
167
|
def plausible? number, hints = {}
|
168
168
|
normalized = clean number
|
169
|
-
|
169
|
+
|
170
170
|
# False if it fails the basic check.
|
171
171
|
#
|
172
172
|
return false unless (4..15) === normalized.size
|
173
173
|
|
174
174
|
country, cc, rest = split_cc normalized
|
175
|
-
|
175
|
+
|
176
176
|
# Country code plausible?
|
177
177
|
#
|
178
178
|
cc_needed = hints[:cc]
|
179
179
|
return false if cc_needed && !(cc_needed === cc)
|
180
|
-
|
180
|
+
|
181
181
|
# Country specific tests.
|
182
182
|
#
|
183
183
|
country.plausible? rest, hints
|
@@ -113,7 +113,13 @@ describe 'plausibility' do
|
|
113
113
|
end
|
114
114
|
|
115
115
|
context 'specific countries' do
|
116
|
+
it "" do
|
117
|
+
Phony.plausible?('+43 699 00000000').should be_true
|
118
|
+
end
|
119
|
+
|
116
120
|
it "is correct for Austria" do
|
121
|
+
Phony.plausible?('+43 1 000000').should be_true
|
122
|
+
Phony.plausible?('+43 1 0000000').should be_true
|
117
123
|
Phony.plausible?('+43 501 12345').should be_true
|
118
124
|
Phony.plausible?('+43 501 1234').should be_false # too short
|
119
125
|
Phony.plausible?('+43 501 123456').should be_false # too long
|
@@ -121,6 +127,9 @@ describe 'plausibility' do
|
|
121
127
|
|
122
128
|
# Mobile
|
123
129
|
Phony.plausible?('+43 676 0000000').should be_true
|
130
|
+
Phony.plausible?('+43 681 00000000').should be_true
|
131
|
+
Phony.plausible?('+43 688 0000000').should be_true
|
132
|
+
Phony.plausible?('+43 699 00000000').should be_true
|
124
133
|
# 663 mobile numbers have 6 digits
|
125
134
|
Phony.plausible?('+43 663 000000').should be_true
|
126
135
|
end
|
@@ -16,13 +16,16 @@ describe 'country descriptions' do
|
|
16
16
|
describe 'Ascension Island' do
|
17
17
|
it_splits '2473551', ['247', false, '3551']
|
18
18
|
end
|
19
|
+
|
19
20
|
describe 'Afghanistan' do
|
20
21
|
it_splits '93201234567', ['93', '20', '1234567'] # Kabul
|
21
22
|
end
|
23
|
+
|
22
24
|
describe 'Algeria' do
|
23
25
|
it_splits '213211231234', ['213', '21', '123', '1234'] # Algiers
|
24
26
|
it_splits '213331231234', ['213', '33', '123', '1234'] # Batna
|
25
27
|
end
|
28
|
+
|
26
29
|
describe 'Argentina' do
|
27
30
|
it_splits '541112345678', ['54', '11', '1234', '5678']
|
28
31
|
it_splits '542911234567', ['54', '291', '123', '4567']
|
@@ -32,13 +35,18 @@ describe 'country descriptions' do
|
|
32
35
|
it_splits '5492221123456', ['54', '92221', '12', '3456']
|
33
36
|
it_splits '548001234567', ['54', '800', '123', '4567']
|
34
37
|
end
|
38
|
+
|
35
39
|
describe 'Austria' do
|
36
|
-
it_splits '43198110',
|
37
|
-
it_splits '
|
38
|
-
it_splits '
|
39
|
-
it_splits '
|
40
|
-
it_splits '
|
40
|
+
it_splits '43198110', %w( 43 1 98110 ) # Vienna
|
41
|
+
it_splits '4310000000', %w( 43 1 0000000 ) # Vienna
|
42
|
+
it_splits '43800123456789', %w( 43 800 123456789 ) # Free
|
43
|
+
it_splits '4368100000000', %w( 43 681 0000 0000 ) # Mobile
|
44
|
+
it_splits '436880000000', %w( 43 688 0000 000 ) # Mobile
|
45
|
+
it_splits '4366900000000', %w( 43 669 0000 0000 ) # Mobile
|
46
|
+
it_splits '433161234567891', %w( 43 316 1234567891 ) # Graz
|
47
|
+
it_splits '432164123456789', %w( 43 2164 123456789 ) # Rohrau
|
41
48
|
end
|
49
|
+
|
42
50
|
describe 'Australia' do
|
43
51
|
it_splits '61512341234', ['61', '5', '1234', '1234'] # Landline
|
44
52
|
it_splits '61423123123', ['61', '423', '123', '123'] # Mobile
|
@@ -554,7 +562,15 @@ describe 'country descriptions' do
|
|
554
562
|
it { Phony.split('421212345678').should == ['421', '2', '12345678'] } # Bratislava
|
555
563
|
it { Phony.split('421371234567').should == ['421', '37', '1234567'] } # Nitra / Other
|
556
564
|
end
|
557
|
-
|
565
|
+
|
566
|
+
describe 'Spain' do
|
567
|
+
it_splits '34600123456', ['34', '600', '123', '456'] # Mobile
|
568
|
+
it_splits '34900123456', ['34', '900', '123', '456'] # Special
|
569
|
+
it_splits '34931234567', ['34', '93', '123', '45', '67'] # Landline large regions
|
570
|
+
it_splits '34975123456', ['34', '975', '12', '34', '56'] # Landline
|
571
|
+
it_splits '34123456789', ['34', '123', '456', '789'] # Default
|
572
|
+
end
|
573
|
+
|
558
574
|
describe 'Sri Lanka' do
|
559
575
|
it { Phony.split('94711231212').should == ['94', '71', '123', '12', '12'] } # Mobile
|
560
576
|
end
|
@@ -70,7 +70,7 @@ describe Phony::CountryCodes do
|
|
70
70
|
@countries.formatted("353411231234", :format => :national).should eql '041 123 1234'
|
71
71
|
end
|
72
72
|
it 'formats spain correctly' do
|
73
|
-
@countries.formatted("34123456789", :format => :national).should eql '
|
73
|
+
@countries.formatted("34123456789", :format => :national).should eql '123 456 789'
|
74
74
|
end
|
75
75
|
end
|
76
76
|
context 'default' do
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Hanke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description: 'Fast international phone number (E164 standard) normalizing, splitting
|
14
14
|
and formatting. Lots of formatting options: International (+.., 00..), national
|
15
15
|
(0..), and local.'
|
16
16
|
email: florian.hanke+phony@gmail.com
|
@@ -19,6 +19,9 @@ extensions: []
|
|
19
19
|
extra_rdoc_files:
|
20
20
|
- README.textile
|
21
21
|
files:
|
22
|
+
- README.textile
|
23
|
+
- lib/phony.rb
|
24
|
+
- lib/phony/countries.rb
|
22
25
|
- lib/phony/countries/austria.rb
|
23
26
|
- lib/phony/countries/bangladesh.rb
|
24
27
|
- lib/phony/countries/belarus.rb
|
@@ -56,7 +59,6 @@ files:
|
|
56
59
|
- lib/phony/countries/united_kingdom.rb
|
57
60
|
- lib/phony/countries/uruguay.rb
|
58
61
|
- lib/phony/countries/zimbabwe.rb
|
59
|
-
- lib/phony/countries.rb
|
60
62
|
- lib/phony/country.rb
|
61
63
|
- lib/phony/country_codes.rb
|
62
64
|
- lib/phony/dsl.rb
|
@@ -71,8 +73,6 @@ files:
|
|
71
73
|
- lib/phony/national_splitters/variable.rb
|
72
74
|
- lib/phony/trunk_code.rb
|
73
75
|
- lib/phony/vanity.rb
|
74
|
-
- lib/phony.rb
|
75
|
-
- README.textile
|
76
76
|
- spec/functional/error_spec.rb
|
77
77
|
- spec/functional/normalize_spec.rb
|
78
78
|
- spec/functional/plausibility_spec.rb
|
@@ -99,17 +99,17 @@ require_paths:
|
|
99
99
|
- lib
|
100
100
|
required_ruby_version: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.0
|
112
|
+
rubygems_version: 2.2.0
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Fast international phone number (E164 standard) normalizing, splitting and
|