phony 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +1 -1
- data/lib/phony.rb +1 -0
- data/lib/phony/countries/all_other.rb +1 -1
- data/lib/phony/countries/netherlands.rb +1 -1
- data/lib/phony/countries/sweden.rb +57 -0
- data/spec/lib/phony_spec.rb +10 -3
- metadata +4 -3
data/README.textile
CHANGED
@@ -5,7 +5,7 @@ h2. Description
|
|
5
5
|
This gem can normalize, format and split E164 numbers.
|
6
6
|
"More about E164 numbers in this Wiki":http://en.wikipedia.org/wiki/E.164.
|
7
7
|
|
8
|
-
Currently handles Austrian, Australian, Belgian, Czech, Egyptian, French, German, Greek, Hungarian, Italian, New Zealand, Norwegian, Polish, Russian, South African, Spanish, Swiss, Liechtenstein, US numbers.
|
8
|
+
Currently handles Austrian, Australian, Belgian, Czech, Egyptian, French, German, Greek, Hungarian, Italian, (The) Netherlands, New Zealand, Norwegian, Polish, Russian, South African, Spanish, Swiss, Liechtenstein, US numbers.
|
9
9
|
And to some extend, all others. Just try if it works for you.
|
10
10
|
|
11
11
|
h2. Installation
|
data/lib/phony.rb
CHANGED
@@ -27,6 +27,7 @@ require File.expand_path '../phony/countries/greece', __FILE__
|
|
27
27
|
require File.expand_path '../phony/countries/hungary', __FILE__
|
28
28
|
require File.expand_path '../phony/countries/italy', __FILE__
|
29
29
|
require File.expand_path '../phony/countries/netherlands', __FILE__
|
30
|
+
require File.expand_path '../phony/countries/sweden', __FILE__
|
30
31
|
|
31
32
|
require File.expand_path '../phony/country_codes', __FILE__
|
32
33
|
|
@@ -76,7 +76,7 @@ module Phony
|
|
76
76
|
'43' => Countries::Austria,
|
77
77
|
'44' => fixed(2), # United Kingdom of Great Britain and Northern Ireland
|
78
78
|
'45' => fixed(2), # Denmark
|
79
|
-
'46' =>
|
79
|
+
'46' => Countries::Sweden,
|
80
80
|
'47' => fixed(4, # Norway
|
81
81
|
:local_format => [4]
|
82
82
|
),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# The Netherlands use a variable-length ndc code, thus we use a separate file to not let all_other.rb explode.
|
2
2
|
#
|
3
|
-
# Note:
|
3
|
+
# Note: The netherlands use a variable ndc format from length 2 to 3.
|
4
4
|
# To save space, we only use ndcs of length 2 (and use the fallback of 3 to handle the rest).
|
5
5
|
#
|
6
6
|
Phony::Countries::Netherlands = Phony::Country.configured :local_format => [8], # 8 is for mobile numbers, other numbers will work as well (they use 7).
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Sweden uses a variable-length ndc code, thus we use a separate file to not let all_other.rb explode.
|
2
|
+
#
|
3
|
+
# Note: Sweden use a variable ndc format from length 2 to 3.
|
4
|
+
# To save space, we only use ndcs of length 1 and 2 (and use the fallback of 3 to handle the rest).
|
5
|
+
#
|
6
|
+
# Taken from: http://en.wikipedia.org/wiki/Telephone_numbers_in_Sweden
|
7
|
+
# http://www.pts.se/upload/Ovrigt/Tele/Nummerfragor/bilaga-2b.pdf
|
8
|
+
#
|
9
|
+
Phony::Countries::Sweden = Phony::Country.configured :local_format => [8],
|
10
|
+
:ndc_fallback_length => 3,
|
11
|
+
:ndc_mapping => {
|
12
|
+
:landline => [
|
13
|
+
'7', # Non-geographical
|
14
|
+
'8', # Stockholm
|
15
|
+
'10', # VOIP
|
16
|
+
'11', # Norrköping
|
17
|
+
'13', # Linköping
|
18
|
+
'16', # Eskilstuna-Torshälla
|
19
|
+
'18', # Uppsala
|
20
|
+
'19', # Örebro-Kumla
|
21
|
+
'20', # toll-free
|
22
|
+
'21', # Västerås
|
23
|
+
'23', # Falun
|
24
|
+
'26', # Gävle-Sandviken
|
25
|
+
'31', # Göteborg
|
26
|
+
'33', # Borås
|
27
|
+
'35', # Halmstad
|
28
|
+
'36', # Jönköping-Huskvarna
|
29
|
+
'40', # Malmö
|
30
|
+
'42', # Helsingborg-Höganäs
|
31
|
+
'44', # Kristianstad
|
32
|
+
'46', # Lund
|
33
|
+
'54', # Karlstad
|
34
|
+
'60', # Sundsvall-Timrå
|
35
|
+
'63', # Östersund
|
36
|
+
'90', # Umeå
|
37
|
+
],
|
38
|
+
:mobile => [
|
39
|
+
'70', # Mobile
|
40
|
+
'71', # Telematics
|
41
|
+
'72', # Mobile
|
42
|
+
'73', # Mobile
|
43
|
+
'74', # Pagers
|
44
|
+
'76', # Mobile
|
45
|
+
],
|
46
|
+
:service => [
|
47
|
+
'99', # Premium Rate
|
48
|
+
'112', # Emergency Service
|
49
|
+
'116', # Psychological Help
|
50
|
+
'118', # Number enquiries
|
51
|
+
'900', # Premium Rate
|
52
|
+
'939', # Premium Rate
|
53
|
+
'944', # Premium Rate
|
54
|
+
'1177', # Health Care Advice
|
55
|
+
'11414', # Police
|
56
|
+
]
|
57
|
+
}
|
data/spec/lib/phony_spec.rb
CHANGED
@@ -9,11 +9,10 @@ describe Phony do
|
|
9
9
|
Phony.split('43198110').should == ['43', '1', '98110']
|
10
10
|
end
|
11
11
|
it "should handle dutch numbers" do
|
12
|
+
Phony.split('31612345678').should == ['31', '6', '12345678'] # mobile
|
12
13
|
Phony.split('31201234567').should == ['31', '20', '1234567']
|
14
|
+
Phony.split('31222123456').should == ['31', '222', '123456']
|
13
15
|
end
|
14
|
-
it "should handle dutch mobile numbers" do
|
15
|
-
Phony.split('31612345678').should == ['31', '6', '12345678']
|
16
|
-
end
|
17
16
|
it "should handle egyptian numbers" do
|
18
17
|
Phony.split('20233453756').should == ['20', '2', '33453756']
|
19
18
|
end
|
@@ -35,6 +34,14 @@ describe Phony do
|
|
35
34
|
it "should handle polish numbers" do
|
36
35
|
Phony.split('48121123123').should == ['48', '12', '1', '123', '123']
|
37
36
|
end
|
37
|
+
it "should handle swedish numbers" do
|
38
|
+
Phony.split('46812345678').should == ['46', '8', '12345678']
|
39
|
+
Phony.split('46111234567').should == ['46', '11', '1234567']
|
40
|
+
Phony.split('46125123456').should == ['46', '125', '123456']
|
41
|
+
end
|
42
|
+
it 'handles russian numbers' do
|
43
|
+
Phony.split('78122345678').should == ['7', '812', '234', '56', '78']
|
44
|
+
end
|
38
45
|
it "should handle swiss numbers" do
|
39
46
|
Phony.split('41443643532').should == ['41', '44', '364', '35', '32']
|
40
47
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 1.1.
|
8
|
+
- 2
|
9
|
+
version: 1.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Florian Hanke
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-30 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- lib/phony/countries/hungary.rb
|
36
36
|
- lib/phony/countries/italy.rb
|
37
37
|
- lib/phony/countries/netherlands.rb
|
38
|
+
- lib/phony/countries/sweden.rb
|
38
39
|
- lib/phony/country.rb
|
39
40
|
- lib/phony/country_codes.rb
|
40
41
|
- lib/phony/local_splitter.rb
|