phony 2.0.0.beta1 → 2.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/phony.rb +8 -2
- data/lib/phony/countries/serbia.rb +28 -28
- data/lib/phony/countries/somali.rb +17 -17
- data/lib/phony/countries/zimbabwe.rb +32 -32
- data/lib/phony/local_splitters/regex.rb +8 -4
- data/spec/lib/phony/validations_spec.rb +6 -2
- data/spec/lib/phony_spec.rb +74 -66
- metadata +2 -2
data/lib/phony.rb
CHANGED
@@ -59,10 +59,14 @@ require File.expand_path '../phony/countries/zimbabwe', __FILE__
|
|
59
59
|
#
|
60
60
|
require File.expand_path '../phony/countries', __FILE__
|
61
61
|
|
62
|
-
|
63
|
-
|
64
62
|
module Phony
|
65
63
|
|
64
|
+
class NormalizationError < StandardError
|
65
|
+
def initialize
|
66
|
+
super %Q{Phony could not normalize the given number. Is it a phone number?}
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
66
70
|
# Phony uses a single country codes instance.
|
67
71
|
#
|
68
72
|
@codes = CountryCodes.instance
|
@@ -79,6 +83,8 @@ module Phony
|
|
79
83
|
end
|
80
84
|
def normalize! phone_number
|
81
85
|
@codes.normalize phone_number
|
86
|
+
rescue
|
87
|
+
raise NormalizationError.new
|
82
88
|
end
|
83
89
|
|
84
90
|
# Splits the phone number into pieces according to the country codes.
|
@@ -3,32 +3,32 @@
|
|
3
3
|
|
4
4
|
Phony.define do
|
5
5
|
country '381',
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
6
|
+
one_of(%w(800)) >> split(3,2) | # freephone
|
7
|
+
one_of(%w(808)) >> split(3,2) | # payphone
|
8
|
+
one_of(%w(230)) >> matched_split(
|
9
|
+
/\A\d{4}\z/ => [4],
|
10
|
+
/\A\d+\z/ => [3,2]) |
|
11
|
+
one_of(%w(11 21)) >> matched_split(
|
12
|
+
/\A\d{6}\z/ => [3,3],
|
13
|
+
/\A\d+\z/ => [3,4]) |
|
14
|
+
one_of(%w(26 31 35)) >> split(3,3) |
|
15
|
+
one_of(%w(10 12 13 14 15 16 17 18 19 20 22 23 24 25 27 30 32 33 34 36 37)) >> matched_split(
|
16
|
+
/\A\d{5}\z/ => [3,2],
|
17
|
+
/\A\d+\z/ => [3,3]) |
|
18
|
+
one_of(%w(72)) >> split(3,3) | # ISP
|
19
|
+
one_of(%w(60 61 62 63 66 68 69)) >> matched_split(
|
20
|
+
/\A\d{3}\z/ => [3],
|
21
|
+
/\A\d{7}\z/ => [3,4],
|
22
|
+
/\A\d+\z/ => [3,3,4]) | # mobile, voicemail (mobile)
|
23
|
+
one_of(%w(64 65)) >> matched_split(
|
24
|
+
/\A\d{2}\z/ => [2],
|
25
|
+
/\A\d{3}\z/ => [3],
|
26
|
+
/\A\d{6}\z/ => [3,3],
|
27
|
+
/\A\d+\z/ => [3,3,4]) | # mobile, voicemail (mobile)
|
28
|
+
one_of(%w(70)) >> split(3,3) | # universal access
|
29
|
+
one_of(%w(42 78)) >> split(3,3) | # premium rate
|
30
|
+
one_of(%w(9)) >> split(3,4) | # premium rate
|
31
|
+
fixed(2) >> matched_split(
|
32
|
+
/\A\d{5}\z/ => [3,2],
|
33
|
+
/\A\d+\z/ => [3,3])
|
34
34
|
end
|
@@ -2,21 +2,21 @@ Phony.define do
|
|
2
2
|
# Somali Democratic Republic http://www.wtng.info/wtng-252-so.html
|
3
3
|
# https://www.numberingplans.com/?page=plans&sub=phonenr&alpha_2_input=SO
|
4
4
|
country '252',
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
5
|
+
one_of('88216') >> split(3) | # Thuraya Satellite Telecommunications Company
|
6
|
+
one_of(%w(1034 1043)) >> split(3,2) | # Hortel
|
7
|
+
one_of(%w(1313)) >> split(3) | # Telcom Somalia
|
8
|
+
one_of(%w(160 161 162 163 164 165 166 167 168)) >> split(2,2) | # Hortel
|
9
|
+
one_of(%w(200 203 211 212 213 313)) >> split(3) | # Telcom Somalia
|
10
|
+
one_of(%w(201 204 208 210 214)) >> split(2,2) | # Telcom Somalia
|
11
|
+
one_of(%w(500 501 502 503 504 505 506 507 508 509)) >> split(3,2) | # mobile NationLink Telecom
|
12
|
+
one_of(%w(523 525 526)) >> split(2,2) | # Netco
|
13
|
+
one_of(%w(642 643 644 648 649)) >> split(2,2) | # Galcom
|
14
|
+
one_of(%w(33 51 52 54 55 56 57 58 59 68 71 76 78 79 88)) >> split(3,2) |
|
15
|
+
match(/\A(67)\d{5}\z/) >> split(3,2) | # Golis Telecom Somalia
|
16
|
+
one_of(%w(15 40 42 45 46 60 61 90 91)) >> split(3,3) | # mobile Somafone, Hortel
|
17
|
+
one_of(%w(18)) >> split(3,2) | # Hortel
|
18
|
+
one_of(%w(27 28 29 62 63 87)) >> split(2,2) | # Telcom Somalia, Emir Set
|
19
|
+
one_of(%w(67 69)) >> split(4,3) | # mobile NationLink Telecom
|
20
|
+
one_of('1') >> split(3,3) |
|
21
|
+
fixed(1) >> split(3,3)
|
22
22
|
end
|
@@ -2,36 +2,36 @@
|
|
2
2
|
|
3
3
|
Phony.define do
|
4
4
|
country '263',
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
5
|
+
one_of(%w(2582 2583 5483)) >>
|
6
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
7
|
+
/\A\d+\z/ => [3] ) | # geographic [XXXX] XXX(XXX)
|
8
|
+
one_of(%w(147 204 205 222 227 228 238 248 2582 2583 271 272 274 276 281 283
|
9
|
+
284 286 287 288 289 298 308 317 371 375 376 379 383 387 389 517 518
|
10
|
+
557 558 628 637 667 668 687 688 698 848)) >>
|
11
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
12
|
+
/\A\d+\z/ => [3] ) | # geographic [XXX] XXX(XXX)
|
13
|
+
one_of(%w(270)) >>
|
14
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
15
|
+
/\A\d+\z/ => [3,2] ) | # geographic [XXX] XXXXX(X)
|
16
|
+
one_of(%w(273 275 277 278 279 282 285)) >>
|
17
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
18
|
+
/\A\d+\z/ => [2,2] ) | # geographic [XXX] XXXX(XX)
|
19
|
+
one_of(%w(912)) >>
|
20
|
+
matched_split(/\A\d{8}\z/ => [4,4], /\A\d+\z/ => [3]) | # mobile
|
21
|
+
one_of(%w(13 14 15 16 17 18 19 21 24 26 29 30 31 32 34 35 36 50 55 57 58 59 60
|
22
|
+
63 64 65 66 69)) >>
|
23
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
24
|
+
/\A\d+\z/ => [3] ) | # geographic [XX] XXX(XXX)
|
25
|
+
one_of(%w(20)) >>
|
26
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
27
|
+
/\A\d+\z/ => [3,2] ) | # geographic [XXX] XXXXX(X)
|
28
|
+
one_of(%w(25 33 39 51 52 53 54 56 61 62 67 68 )) >>
|
29
|
+
matched_split(/\A\d{6}\z/ => [3,3],
|
30
|
+
/\A\d+\z/ => [2,2] ) | # geographic [XXX] XXXX(XX)
|
31
|
+
one_of(%w(86)) >> split(4,4) | # VoIP telephony
|
32
|
+
one_of(%w(71 73 77)) >> split(4,3) | # mobile
|
33
|
+
one_of(%w(4 9)) >>
|
34
|
+
matched_split(/\A\d{6}\z/ => [4,4],
|
35
|
+
/\A\d+\z/ => [3,2] ) | # geographic [X] XXXXX(XXX)
|
36
|
+
fixed(2) >> split(3,3)
|
37
37
|
end
|
@@ -46,11 +46,9 @@ module Phony
|
|
46
46
|
number = rest.inject('', :+)
|
47
47
|
mapping.each do |regex, format|
|
48
48
|
next unless number =~ regex
|
49
|
-
|
50
|
-
length -= 10 if length > 10
|
51
|
-
return number.length == length
|
49
|
+
return plausible_with? number, format
|
52
50
|
end
|
53
|
-
|
51
|
+
plausible_with? number, fallback
|
54
52
|
end
|
55
53
|
|
56
54
|
private
|
@@ -62,6 +60,12 @@ module Phony
|
|
62
60
|
result
|
63
61
|
end
|
64
62
|
end
|
63
|
+
|
64
|
+
def plausible_with? number, format
|
65
|
+
length = format.inject(0, :+)
|
66
|
+
length -= 10 if length > 10
|
67
|
+
number.length == length
|
68
|
+
end
|
65
69
|
|
66
70
|
end
|
67
71
|
|
@@ -24,10 +24,12 @@ describe 'validations' do
|
|
24
24
|
incorrect = [shortest.sub(/\d\s*\z/, ''), longest + '0']
|
25
25
|
|
26
26
|
correct.each do |value|
|
27
|
-
Phony.plausible?(value).should be_true,
|
27
|
+
Phony.plausible?(value).should be_true,
|
28
|
+
"It should validate #{value}, but does not."
|
28
29
|
end
|
29
30
|
incorrect.each do |value|
|
30
|
-
Phony.plausible?(value).should be_false,
|
31
|
+
Phony.plausible?(value).should be_false,
|
32
|
+
"It should not validate #{value}, but does."
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|
@@ -479,6 +481,8 @@ describe 'validations' do
|
|
479
481
|
'+264 63 088 612 345',
|
480
482
|
'+264 85 1234 567']
|
481
483
|
it_is_correct_for 'Nauru (Republic of)', :samples => '+674 239 8387'
|
484
|
+
it_is_correct_for 'Norway', :samples => ['+47 51 23 45 67',
|
485
|
+
'+47 41 23 45 67']
|
482
486
|
it_is_correct_for 'Nepal', :samples => ['+977 1 434 5678',
|
483
487
|
'+977 10 123 456',
|
484
488
|
'+977 98 1234 5678']
|
data/spec/lib/phony_spec.rb
CHANGED
@@ -4,60 +4,54 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe Phony do
|
6
6
|
|
7
|
-
describe '
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
expect {
|
20
|
-
Phony.split(nil)
|
21
|
-
}.to raise_error(ArgumentError, "Phone number cannot be nil. Use e.g. number && Phony.split(number).")
|
7
|
+
describe 'normalize' do
|
8
|
+
describe 'exceptions' do
|
9
|
+
it 'raises on nil' do
|
10
|
+
expect {
|
11
|
+
Phony.normalize nil
|
12
|
+
}.to raise_error(ArgumentError, 'Phone number cannot be nil. Use e.g. number && Phony.normalize(number).')
|
13
|
+
end
|
14
|
+
it 'raises a nice error message' do
|
15
|
+
expect do
|
16
|
+
Phony.normalize 'test'
|
17
|
+
end.to raise_error(Phony::NormalizationError, 'Phony could not normalize the given number. Is it a phone number?')
|
18
|
+
end
|
22
19
|
end
|
23
|
-
|
24
|
-
|
25
|
-
describe "normalize" do
|
26
|
-
describe "some examples" do
|
27
|
-
it "should normalize a too short number" do
|
20
|
+
describe 'some examples' do
|
21
|
+
it 'should normalize a too short number' do
|
28
22
|
Phony.normalize('+972').should == '972'
|
29
23
|
end
|
30
|
-
it
|
24
|
+
it 'should normalize an already normalized number' do
|
31
25
|
Phony.normalize('41443643533').should == '41443643533'
|
32
26
|
end
|
33
|
-
it
|
27
|
+
it 'should normalize a format number' do
|
34
28
|
Phony.normalize('+41 44 364 35 33').should == '41443643533'
|
35
29
|
end
|
36
|
-
it
|
30
|
+
it 'should normalize a 00 number' do
|
37
31
|
Phony.normalize('0041 44 364 35 33').should == '41443643533'
|
38
32
|
end
|
39
|
-
it
|
33
|
+
it 'should normalize a service number' do
|
40
34
|
Phony.normalize('+41 800 11 22 33').should == '41800112233'
|
41
35
|
end
|
42
|
-
it
|
36
|
+
it 'should remove characters from the number' do
|
43
37
|
Phony.normalize('John: +41 44 364 35 33').should == '41443643533'
|
44
38
|
end
|
45
|
-
it
|
39
|
+
it 'should normalize one of these crazy american numbers' do
|
46
40
|
Phony.normalize('1 (703) 451-5115').should == '17034515115'
|
47
41
|
end
|
48
|
-
it
|
42
|
+
it 'should normalize another one of these crazy american numbers' do
|
49
43
|
Phony.normalize('1-888-407-4747').should == '18884074747'
|
50
44
|
end
|
51
|
-
it
|
45
|
+
it 'should normalize a number with colons' do
|
52
46
|
Phony.normalize('1.906.387.1698').should == '19063871698'
|
53
47
|
end
|
54
|
-
it
|
48
|
+
it 'should normalize a number with optional ndc' do
|
55
49
|
Phony.normalize('+41 (044) 364 35 33').should == '41443643533'
|
56
50
|
end
|
57
|
-
it
|
51
|
+
it 'should normalize a number with erroneous zero inside' do
|
58
52
|
Phony.normalize('+410443643533').should == '41443643533'
|
59
53
|
end
|
60
|
-
it
|
54
|
+
it 'should not normalize a number with a correct zero inside' do
|
61
55
|
Phony.normalize('+390909709511').should == '390909709511'
|
62
56
|
end
|
63
57
|
|
@@ -83,56 +77,63 @@ describe Phony do
|
|
83
77
|
end
|
84
78
|
end
|
85
79
|
|
86
|
-
describe
|
87
|
-
describe
|
88
|
-
it
|
80
|
+
describe 'format' do
|
81
|
+
describe 'exceptions' do
|
82
|
+
it 'raises on nil' do
|
83
|
+
expect {
|
84
|
+
Phony.format nil
|
85
|
+
}.to raise_error(ArgumentError, 'Phone number cannot be nil. Use e.g. number && Phony.format(number).')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
describe 'default' do
|
89
|
+
it 'should format swiss numbers' do
|
89
90
|
Phony.format('41443643532').should == '+41 44 364 35 32'
|
90
91
|
end
|
91
92
|
# TODO
|
92
93
|
#
|
93
|
-
it
|
94
|
+
it 'should format swiss service numbers' do
|
94
95
|
Phony.format('41800112233').should == '+41 800 112 233'
|
95
96
|
end
|
96
|
-
it
|
97
|
+
it 'should format austrian numbers' do
|
97
98
|
Phony.format('43198110').should == '+43 1 98110'
|
98
99
|
end
|
99
|
-
it
|
100
|
+
it 'should format american numbers' do
|
100
101
|
Phony.format('18705551122').should == '+1 870 555 1122'
|
101
102
|
end
|
102
103
|
end
|
103
|
-
describe
|
104
|
-
it
|
104
|
+
describe 'international' do
|
105
|
+
it 'should format north american numbers' do
|
105
106
|
Phony.format('18091231234', :format => :international).should == '+1 809 123 1234'
|
106
107
|
end
|
107
|
-
it
|
108
|
+
it 'should format austrian numbers' do
|
108
109
|
Phony.format('43198110', :format => :international).should == '+43 1 98110'
|
109
110
|
end
|
110
|
-
it
|
111
|
+
it 'should format austrian numbers' do
|
111
112
|
Phony.format('43198110', :format => :international_absolute).should == '+43 1 98110'
|
112
113
|
end
|
113
|
-
it
|
114
|
+
it 'should format french numbers' do
|
114
115
|
Phony.format('33142278186', :format => :+).should == '+33 1 42 27 81 86'
|
115
116
|
end
|
116
|
-
it
|
117
|
+
it 'should format austrian numbers' do
|
117
118
|
Phony.format('43198110', :format => :international_relative).should == '0043 1 98110'
|
118
119
|
end
|
119
120
|
it 'should format liechtensteiner numbers' do
|
120
121
|
Phony.format('4233841148', :format => :international_relative).should == '00423 384 11 48'
|
121
122
|
end
|
122
123
|
context 'with no spaces' do
|
123
|
-
it
|
124
|
+
it 'should format north american numbers' do
|
124
125
|
Phony.format('18091231234', :format => :international, :spaces => '').should == '+18091231234'
|
125
126
|
end
|
126
|
-
it
|
127
|
+
it 'should format austrian numbers' do
|
127
128
|
Phony.format('43198110', :format => :international, :spaces => '').should == '+43198110'
|
128
129
|
end
|
129
|
-
it
|
130
|
+
it 'should format austrian numbers' do
|
130
131
|
Phony.format('43198110', :format => :international_absolute, :spaces => '').should == '+43198110'
|
131
132
|
end
|
132
|
-
it
|
133
|
+
it 'should format french numbers' do
|
133
134
|
Phony.format('33142278186', :format => :+, :spaces => '').should == '+33142278186'
|
134
135
|
end
|
135
|
-
it
|
136
|
+
it 'should format austrian numbers' do
|
136
137
|
Phony.format('43198110', :format => :international_relative, :spaces => '').should == '0043198110'
|
137
138
|
end
|
138
139
|
it 'should format liechtensteiner numbers' do
|
@@ -140,29 +141,29 @@ describe Phony do
|
|
140
141
|
end
|
141
142
|
end
|
142
143
|
context 'with special spaces' do
|
143
|
-
it
|
144
|
+
it 'should format swiss numbers' do
|
144
145
|
Phony.format('41443643532', :format => :international).should == '+41 44 364 35 32'
|
145
146
|
end
|
146
|
-
it
|
147
|
+
it 'should format north american numbers' do
|
147
148
|
Phony.format('18091231234', :format => :international, :spaces => :-).should == '+1-809-123-1234'
|
148
149
|
end
|
149
|
-
it
|
150
|
+
it 'should format austrian numbers' do
|
150
151
|
Phony.format('43198110', :format => :international, :spaces => :-).should == '+43-1-98110'
|
151
152
|
end
|
152
|
-
it
|
153
|
+
it 'should format austrian numbers' do
|
153
154
|
Phony.format('43198110', :format => :international_absolute, :spaces => :-).should == '+43-1-98110'
|
154
155
|
end
|
155
|
-
it
|
156
|
+
it 'should format french numbers' do
|
156
157
|
Phony.format('33142278186', :format => :+, :spaces => :-).should == '+33-1-42-27-81-86'
|
157
158
|
end
|
158
|
-
it
|
159
|
+
it 'should format austrian numbers' do
|
159
160
|
Phony.format('43198110', :format => :international_relative, :spaces => :-).should == '0043-1-98110'
|
160
161
|
end
|
161
162
|
it 'should format liechtensteiner numbers' do
|
162
163
|
Phony.format('4233841148', :format => :international_relative, :spaces => :-).should == '00423-384-11-48'
|
163
164
|
end
|
164
165
|
end
|
165
|
-
describe '
|
166
|
+
describe "'unsupported' countries" do
|
166
167
|
it 'should format as a single block' do
|
167
168
|
Phony.format('88132155605220').should == '+881 32155605220'
|
168
169
|
end
|
@@ -177,27 +178,27 @@ describe Phony do
|
|
177
178
|
end
|
178
179
|
end
|
179
180
|
end
|
180
|
-
describe
|
181
|
-
it
|
181
|
+
describe 'national' do
|
182
|
+
it 'should format swiss numbers' do
|
182
183
|
Phony.format('41443643532', :format => :national).should == '044 364 35 32'
|
183
184
|
end
|
184
185
|
# TODO
|
185
186
|
#
|
186
|
-
it
|
187
|
+
it 'should format swiss service numbers' do
|
187
188
|
Phony.format('41800112233', :format => :national).should == '0800 112 233'
|
188
189
|
end
|
189
|
-
it
|
190
|
+
it 'should format austrian numbers' do
|
190
191
|
Phony.format('43198110', :format => :national).should == '01 98110'
|
191
192
|
end
|
192
|
-
it
|
193
|
+
it 'should format US numbers without a leading zero' do
|
193
194
|
Phony.format('14159224711', :format => :national).should == '415 922 4711'
|
194
195
|
end
|
195
196
|
end
|
196
|
-
describe
|
197
|
-
it
|
197
|
+
describe 'local' do
|
198
|
+
it 'should format swiss numbers' do
|
198
199
|
Phony.format('41443643532', :format => :local).should == '364 35 32'
|
199
200
|
end
|
200
|
-
it
|
201
|
+
it 'should format german numbers' do
|
201
202
|
Phony.format('493038625454', :format => :local).should == '386 25454'
|
202
203
|
end
|
203
204
|
end
|
@@ -205,11 +206,18 @@ describe Phony do
|
|
205
206
|
|
206
207
|
context 'minimal cases' do
|
207
208
|
context 'normalizing' do
|
208
|
-
it
|
209
|
+
it "handles completely crazy 'numbers'" do
|
209
210
|
Phony.normalize('Hello, I am Cora, the 41th parrot, and 044 is my 364 times 35 funky number. 32.').should == '41443643532'
|
210
211
|
end
|
211
212
|
end
|
212
213
|
context 'splitting' do
|
214
|
+
describe 'exceptions' do
|
215
|
+
it 'should raise on split nil' do
|
216
|
+
expect {
|
217
|
+
Phony.split nil
|
218
|
+
}.to raise_error(ArgumentError, 'Phone number cannot be nil. Use e.g. number && Phony.split(number).')
|
219
|
+
end
|
220
|
+
end
|
213
221
|
it 'handles completely missing numbers well enough' do
|
214
222
|
Phony.split('4144').should == ['41', '44', '']
|
215
223
|
end
|
@@ -231,7 +239,7 @@ describe Phony do
|
|
231
239
|
Phony.format('414436435').should == '+41 44 364 35'
|
232
240
|
end
|
233
241
|
end
|
234
|
-
context '
|
242
|
+
context "'unsupported' countries" do
|
235
243
|
it 'handles formatting' do
|
236
244
|
Phony.format('88132155605220').should == '+881 32155605220'
|
237
245
|
end
|
@@ -241,7 +249,7 @@ describe Phony do
|
|
241
249
|
end
|
242
250
|
end
|
243
251
|
|
244
|
-
context
|
252
|
+
context 'speed' do
|
245
253
|
before(:each) do
|
246
254
|
@phone_numbers = [
|
247
255
|
'41443643532',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.beta2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-07 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Fast international phone number (E164 standard) normalizing, splitting
|
15
15
|
and formatting. Lots of formatting options: International (+.., 00..), national
|