phony 2.2.4 → 2.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTY1NmNhOWEwODE4N2MyYzZmODZkMjY5ZGExYzVhMTQ3ZjJkMTU3Zg==
4
+ Y2I0ZWIxMzc3NTZlMzdlYTYyOGM4MjUwZjc1MDdkYTQ4ODJlYzY1Ng==
5
5
  data.tar.gz: !binary |-
6
- MTE2YTEyMDNlYTc2YTBkZTI4NGIxM2E4MzMzODhlNjA4NWI5MjQzYg==
6
+ YTM5OWNkMTNmNjEyYjU5YzY2MTA0MjBkNDFkMTZkYWRiM2JkZWNjMA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YTEzYzk4YWZjZDZjZGJhMDMxNDJlNzAzMGY3YmEwN2Y0NDQyOWI4MGM0MjMx
10
- ZGU1ZDgyZDQ3MzdjN2VlMTdjODE0YzBjMDQzZTYzMjcwODEyZWViZjM5ZmNl
11
- ZTAxMzhmZDNjYWZkZmZhZWNmYzI1OTljZjVhZjg0NjliZjQwOTQ=
9
+ ZGZiNWViN2VjMWU1ZjEwZGFhZmVlNGJjNjdlOWMwYjU5MDNkYTI1OTY3NzAw
10
+ ZTdiODdhMGMzYmY3ZDgwNTBkMWE4ODkxNDJlOWIxZjBhZDgxY2RhNjJiYzUz
11
+ NDExMDllYTczMmU3NjA5OWI0NDFiZTEwMDM5MDlhMzdlZmEwODY=
12
12
  data.tar.gz: !binary |-
13
- Mzk4ZWNjNTQzZWNmZGJkMTJjYTExZGM1NzI4MGY2ZDA3ZmMxNDkyNjU2MWY0
14
- MTYwZThjNDAyZTVmNzQ3OTk4ZTY2NDkwZDg4YjJhZjEyNTE4MWYzNzI4MmQy
15
- Y2EwNzk3NmVhMTg1Y2NmMDAxYjlhOWQ3MjhiOTYyZjQyMDIwOTM=
13
+ ZWVkMDFmMTYwMDI0YjJmYWNiZmY1ZjBkMjQ1NTZkNTgzYzg5ZDhlMmM5MTQ4
14
+ ZjQyZGU3MDU1MjlmNTRjODQ3NzIwYWRjZTA1YTE4YTE0ZDE0NTk0YWRjMDc2
15
+ ZTMwYTRhYTBiOTJkMTAyZDI3MWVkNDlkNmNiMDBmMmVhNzA1Y2Q=
data/README.textile CHANGED
@@ -91,69 +91,71 @@ This will often raise an error if you try normalizing a non E164-izable number (
91
91
 
92
92
  h3(#formatting). Formatting
93
93
 
94
- @Phony.formatted('41443643532').should == '+41 44 364 35 32'@
94
+ Aliased as @Phony.formatted(number_string)@.
95
95
 
96
- @Phony.formatted('41800112233').should == '+41 800 11 22 33'@
96
+ @Phony.format('41443643532').should == '+41 44 364 35 32'@
97
97
 
98
- @Phony.formatted('43198110').should == '+43 1 98110'@
98
+ @Phony.format('41800112233').should == '+41 800 11 22 33'@
99
99
 
100
- @Phony.formatted('18705551122').should == '+1 870 555 1122'@
100
+ @Phony.format('43198110').should == '+43 1 98110'@
101
+
102
+ @Phony.format('18705551122').should == '+1 870 555 1122'@
101
103
 
102
104
  h4(#international). International
103
105
 
104
- @Phony.formatted('18091231234', :format => :international).should == '+1 809 123 1234'@
106
+ @Phony.format('18091231234', :format => :international).should == '+1 809 123 1234'@
105
107
 
106
- @Phony.formatted('43198110', :format => :international).should == '+43 1 98110'@
108
+ @Phony.format('43198110', :format => :international).should == '+43 1 98110'@
107
109
 
108
- @Phony.formatted('43198110', :format => :international_absolute).should == '+43 1 98110'@
110
+ @Phony.format('43198110', :format => :international_absolute).should == '+43 1 98110'@
109
111
 
110
- @Phony.formatted('33142278186', :format => :+).should == '+33 1 42 27 81 86'@
112
+ @Phony.format('33142278186', :format => :+).should == '+33 1 42 27 81 86'@
111
113
 
112
- @Phony.formatted('43198110', :format => :international_relative).should == '0043 1 98110'@
114
+ @Phony.format('43198110', :format => :international_relative).should == '0043 1 98110'@
113
115
 
114
- @Phony.formatted('4233841148', :format => :international_relative).should == '00423 384 11 48'@
116
+ @Phony.format('4233841148', :format => :international_relative).should == '00423 384 11 48'@
115
117
 
116
118
  h4(#spaces). With spaces
117
119
 
118
- @Phony.formatted('18091231234', :format => :international, :spaces => '').should == '+18091231234'@
120
+ @Phony.format('18091231234', :format => :international, :spaces => '').should == '+18091231234'@
119
121
 
120
- @Phony.formatted('43198110', :format => :international, :spaces => '').should == '+43198110'@
122
+ @Phony.format('43198110', :format => :international, :spaces => '').should == '+43198110'@
121
123
 
122
- @Phony.formatted('43198110', :format => :international_absolute, :spaces => '').should == '+43198110'@
124
+ @Phony.format('43198110', :format => :international_absolute, :spaces => '').should == '+43198110'@
123
125
 
124
- @Phony.formatted('33142278186', :format => :+, :spaces => '').should == '+33142278186'@
126
+ @Phony.format('33142278186', :format => :+, :spaces => '').should == '+33142278186'@
125
127
 
126
- @Phony.formatted('43198110', :format => :international_relative, :spaces => '').should == '0043198110'@
128
+ @Phony.format('43198110', :format => :international_relative, :spaces => '').should == '0043198110'@
127
129
 
128
- @Phony.formatted('4233841148', :format => :international_relative, :spaces => '').should == '004233841148'@
130
+ @Phony.format('4233841148', :format => :international_relative, :spaces => '').should == '004233841148'@
129
131
 
130
132
  h4(#special). With special spaces
131
133
 
132
- @Phony.formatted('18091231234', :format => :international, :spaces => :-).should == '+1-809-123-1234'@
134
+ @Phony.format('18091231234', :format => :international, :spaces => :-).should == '+1-809-123-1234'@
133
135
 
134
- @Phony.formatted('43198110', :format => :international, :spaces => :-).should == '+43-1-98110'@
136
+ @Phony.format('43198110', :format => :international, :spaces => :-).should == '+43-1-98110'@
135
137
 
136
- @Phony.formatted('43198110', :format => :international_absolute, :spaces => :-).should == '+43-1-98110'@
138
+ @Phony.format('43198110', :format => :international_absolute, :spaces => :-).should == '+43-1-98110'@
137
139
 
138
- @Phony.formatted('33142278186', :format => :+, :spaces => :-).should == '+33-1-42-27-81-86'@
140
+ @Phony.format('33142278186', :format => :+, :spaces => :-).should == '+33-1-42-27-81-86'@
139
141
 
140
- @Phony.formatted('43198110', :format => :international_relative, :spaces => :-).should == '0043-1-98110'@
142
+ @Phony.format('43198110', :format => :international_relative, :spaces => :-).should == '0043-1-98110'@
141
143
 
142
- @Phony.formatted('4233841148', :format => :international_relative, :spaces => :-).should == '00423-384-11-48'@
144
+ @Phony.format('4233841148', :format => :international_relative, :spaces => :-).should == '00423-384-11-48'@
143
145
 
144
146
  h4(#national). National
145
147
 
146
- @Phony.formatted('41443643532', :format => :national).should == '044 364 35 32'@
148
+ @Phony.format('41443643532', :format => :national).should == '044 364 35 32'@
147
149
 
148
- @Phony.formatted('41800112233', :format => :national).should == '0800 11 22 33'@
150
+ @Phony.format('41800112233', :format => :national).should == '0800 11 22 33'@
149
151
 
150
- @Phony.formatted('43198110', :format => :national).should == '01 98110'@
152
+ @Phony.format('43198110', :format => :national).should == '01 98110'@
151
153
 
152
154
  h4(#local). Local
153
155
 
154
- @Phony.formatted('41443643532', :format => :local).should == '364 35 32'@
156
+ @Phony.format('41443643532', :format => :local).should == '364 35 32'@
155
157
 
156
- @Phony.formatted('493038625454', :format => :local).should == '386 25454'@
158
+ @Phony.format('493038625454', :format => :local).should == '386 25454'@
157
159
 
158
160
  h3(#splitting). Splitting
159
161
 
data/lib/phony.rb CHANGED
@@ -115,10 +115,10 @@ module Phony
115
115
  #
116
116
  def format phone_number, options = {}
117
117
  raise ArgumentError, "Phone number cannot be nil. Use e.g. number && Phony.format(number)." unless phone_number
118
- formatted! phone_number.dup, options
118
+ format! phone_number.dup, options
119
119
  end
120
120
  def format! phone_number, options = {}
121
- @codes.formatted phone_number, options
121
+ @codes.format phone_number, options
122
122
  end
123
123
  alias formatted format
124
124
  alias formatted! format!
@@ -9,8 +9,6 @@
9
9
  # http://www.comreg.ie/_fileupload/publications/ComReg03147.pdf
10
10
  # http://en.wikipedia.org/wiki/Telephone_numbers_in_the_Republic_of_Ireland
11
11
  #
12
- handlers = []
13
-
14
12
  ndcs_with_5_subscriber_digits = [
15
13
  ('22'..'29').to_a, # Mallow, Bandon, Youghal, Fermoy, Macroom, Bantry, Skibbereen, Kanturk
16
14
  '402', # Arklow
@@ -73,4 +71,4 @@ Phony.define do
73
71
  match(/^(8\d).+$/) >> split(3,4) | # mobile
74
72
  fixed(3) >> split(6) # Fallback
75
73
 
76
- end
74
+ end
@@ -12,7 +12,7 @@ ndcs = [
12
12
  '9', # Kelantan, Pahang (except Cameron Highlands & Genting Highlands) & Terengganu
13
13
  ]
14
14
  mobile = %w{ 10 11 12 13 14 153 154 156 158 16 17 18 19 }
15
- service = %w{ 100 101 102 103 104 108 991 994 995 999 } # Emergeny and Service numbers, only 3 digits long
15
+ # service = %w{ 100 101 102 103 104 108 991 994 995 999 } # Emergeny and Service numbers, only 3 digits long
16
16
  freephone = %w{ 300 700 800 }
17
17
 
18
18
  Phony.define do
@@ -21,4 +21,4 @@ Phony.define do
21
21
  one_of(mobile) >> split(3,4) | # Mobile
22
22
  one_of(ndcs) >> split(8) | # 1-digit NDCs
23
23
  fixed(2) >> split(8) # 2-digit NDCs (Also, fallback)
24
- end
24
+ end
data/lib/phony/country.rb CHANGED
@@ -1,24 +1,24 @@
1
1
  module Phony
2
-
2
+
3
3
  #
4
4
  #
5
5
  class Country
6
-
6
+
7
7
  attr_accessor :codes
8
-
9
- #
8
+
9
+ #
10
10
  #
11
11
  def initialize *codes
12
12
  @codes = codes
13
13
  end
14
-
14
+
15
15
  # Chain two codes together.
16
16
  #
17
17
  def |(other)
18
18
  self.codes = self.codes + other.codes
19
19
  self
20
20
  end
21
-
21
+
22
22
  # Options.
23
23
  #
24
24
  # TODO Rewrite.
@@ -27,7 +27,7 @@ module Phony
27
27
  @cc = cc
28
28
  @invalid_ndcs = options[:invalid_ndcs] || []
29
29
  end
30
-
30
+
31
31
  # A number is split with the code handlers as given in the initializer.
32
32
  #
33
33
  # Note: If the ndc is nil, it will not return it.
@@ -37,6 +37,9 @@ module Phony
37
37
  zero, ndc, *rest = code.split national_number
38
38
  return [zero, ndc, *rest] if rest && !rest.empty?
39
39
  end
40
+ # Best effort in error case.
41
+ #
42
+ [nil, national_number, []]
40
43
  end
41
44
  def split_ndc national_number
42
45
  @codes.each do |code|
@@ -44,7 +47,7 @@ module Phony
44
47
  return [code.local_splitter, zero, ndc, *rest] if rest && !rest.empty?
45
48
  end
46
49
  end
47
-
50
+
48
51
  # Cleans all non-numeric characters.
49
52
  #
50
53
  @@basic_cleaning_pattern = /\(0\)|\D/
@@ -58,10 +61,10 @@ module Phony
58
61
  def clean! number
59
62
  number.gsub!(@@basic_cleaning_pattern, EMPTY_STRING) || number
60
63
  end
61
-
64
+
62
65
  # Removes 0s from partially normalized numbers
63
66
  # such as 410443643533.
64
- #
67
+ #
65
68
  # Example:
66
69
  # 410443643533 -> 41443643533
67
70
  #
@@ -76,12 +79,12 @@ module Phony
76
79
  end
77
80
  normalized
78
81
  end
79
-
82
+
80
83
  # Tests for plausibility of this national number.
81
84
  #
82
85
  def plausible? rest, hints = {}
83
86
  local, _, ndc, *rest = split_ndc rest
84
-
87
+
85
88
  # Element based checking.
86
89
  #
87
90
  # Note: ndc == false means the country has none.
@@ -89,21 +92,21 @@ module Phony
89
92
  return false if ndc.nil?
90
93
  return false if ndc && ndc.empty?
91
94
  return false if @invalid_ndcs.include? ndc # TODO Refactor.
92
-
95
+
93
96
  # # A valid range for the rest is 0 or 3+ total digits.
94
97
  # #
95
98
  # return false if (1..2) === rest_size
96
-
99
+
97
100
  # National destination code plausible?
98
101
  #
99
102
  ndc_needed = hints[:ndc]
100
103
  return false if ndc_needed && !(ndc_needed === ndc)
101
-
104
+
102
105
  # Local code specific checks.
103
106
  #
104
107
  return local.plausible? rest, hints
105
108
  end
106
-
109
+
107
110
  # Is this national number a vanity number?
108
111
  #
109
112
  def vanity? national_number
@@ -112,10 +115,10 @@ module Phony
112
115
  #
113
116
  #
114
117
  def vanity_to_number vanity_number
115
- zero, ndc, *rest = split vanity_number
118
+ _, ndc, *rest = split vanity_number
116
119
  "#{ndc}#{Vanity.replace(rest.join)}"
117
120
  end
118
-
121
+
119
122
  end
120
-
121
- end
123
+
124
+ end
@@ -50,7 +50,7 @@ module Phony
50
50
  countrify!(number, cc) || number
51
51
  end
52
52
  def countrify! number, cc
53
- number.sub! /\A/, cc # @countrify_regex, @cc
53
+ number.sub!(/\A/, cc) # @countrify_regex, @cc
54
54
  end
55
55
 
56
56
  # 00 for the standard international call prefix.
@@ -83,9 +83,11 @@ module Phony
83
83
  [cc, *country.split(rest)]
84
84
  end
85
85
 
86
- def formatted number, options = {}
86
+ def format number, options = {}
87
87
  format_cc_ndc_local options[:format], options[:spaces] || @default_space, *split(number)
88
88
  end
89
+ alias formatted format
90
+
89
91
  # Formats country code and national destination code.
90
92
  #
91
93
  def format_cc_ndc_local format, space, cc, zero, ndc, *parts
@@ -127,15 +129,15 @@ module Phony
127
129
  #
128
130
  #
129
131
  def service? number
130
- country, cc, rest = split_cc number
132
+ country, _, rest = split_cc number
131
133
  country.service? rest
132
134
  end
133
135
  def mobile? number
134
- country, cc, rest = split_cc number
136
+ country, _, rest = split_cc number
135
137
  country.mobile? rest
136
138
  end
137
139
  def landline? number
138
- country, cc, rest = split_cc number
140
+ country, _, rest = split_cc number
139
141
  country.landline? rest
140
142
  end
141
143
 
@@ -179,7 +181,7 @@ module Phony
179
181
  # Country specific tests.
180
182
  #
181
183
  country.plausible? rest, hints
182
- rescue StandardError => e
184
+ rescue StandardError
183
185
  return false
184
186
  end
185
187
 
data/lib/phony/dsl.rb CHANGED
@@ -38,7 +38,7 @@ module Phony
38
38
  #
39
39
  def self.define
40
40
  dsl = DSL.new
41
- dsl.instance_eval &Proc.new if block_given?
41
+ dsl.instance_eval(&Proc.new) if block_given?
42
42
  dsl
43
43
  end
44
44
 
@@ -190,4 +190,4 @@ module Phony
190
190
 
191
191
  end
192
192
 
193
- end
193
+ end
@@ -27,9 +27,9 @@ module Phony
27
27
  # Note: Some cases, like Italy, don't remove the relative zero.
28
28
  #
29
29
  def normalize national_number
30
- national_number.gsub /\A0+/, EMPTY_STRING
30
+ national_number.gsub(/\A0+/, EMPTY_STRING)
31
31
  end
32
32
 
33
33
  end
34
34
 
35
- end
35
+ end
@@ -20,7 +20,7 @@ module Phony
20
20
  #
21
21
  def split national_number
22
22
  national_number.gsub! @trunk_code_replacement, EMPTY_STRING if @split
23
- return [@code, national_number]
23
+ return [nil, national_number]
24
24
  end
25
25
 
26
26
  def normalize national_number
data/lib/phony/vanity.rb CHANGED
@@ -16,7 +16,7 @@ module Phony
16
16
  # Replaces (and normalizes) vanity characters of passed number with correct digits.
17
17
  #
18
18
  def self.replace number
19
- number.tr *mapping
19
+ number.tr(*mapping)
20
20
  end
21
21
 
22
22
  # Returns true if there is a character in the number
@@ -29,7 +29,7 @@ module Phony
29
29
 
30
30
  # Vanity-Normalized.
31
31
  #
32
- @@vanity_normalizing_regexp = /^0*|[^\d\w]/
32
+ @@vanity_normalizing_regexp = /^0*|[^\w]/
33
33
  def self.normalized number
34
34
  number.gsub @@vanity_normalizing_regexp, ''
35
35
  end
@@ -20,7 +20,6 @@ describe 'plausibility' do
20
20
  correct = [*sample]
21
21
 
22
22
  shortest = correct.min_by{|x| x.scan(/\d/).length}
23
- longest = correct.max_by{|x| x.scan(/\d/).length}
24
23
  incorrect = [shortest.sub(/\d\s*\z/, '')] # , longest + '0']
25
24
 
26
25
  correct.each do |value|
@@ -8,39 +8,39 @@ describe Phony::CountryCodes do
8
8
 
9
9
  describe 'international_absolute_format=' do
10
10
  it 'formats correctly' do
11
- @countries.formatted('41443643532', :format => :international).should == '+41 44 364 35 32'
11
+ @countries.formatted('41443643532', :format => :international).should eql '+41 44 364 35 32'
12
12
  end
13
13
  it 'formats correctly' do
14
14
  old_format = @countries.international_absolute_format
15
15
  @countries.international_absolute_format = '!!! %s%s%s'
16
16
 
17
- @countries.formatted('41443643532', :format => :international).should == '!!! 41 44 364 35 32'
17
+ @countries.formatted('41443643532', :format => :international).should eql '!!! 41 44 364 35 32'
18
18
 
19
19
  @countries.international_absolute_format = old_format
20
20
  end
21
21
  end
22
22
  describe 'international_relative_format=' do
23
23
  it 'formats correctly' do
24
- @countries.formatted('41443643532', :format => :international_relative).should == '0041 44 364 35 32'
24
+ @countries.formatted('41443643532', :format => :international_relative).should eql '0041 44 364 35 32'
25
25
  end
26
26
  it 'formats correctly' do
27
27
  old_format = @countries.international_relative_format
28
28
  @countries.international_relative_format = '000 %s%s%s'
29
29
 
30
- @countries.formatted('41443643532', :format => :international_relative).should == '000 41 44 364 35 32'
30
+ @countries.formatted('41443643532', :format => :international_relative).should eql '000 41 44 364 35 32'
31
31
 
32
32
  @countries.international_relative_format = old_format
33
33
  end
34
34
  end
35
35
  describe 'national_format=' do
36
36
  it 'formats correctly' do
37
- @countries.formatted('41443643532', :format => :international_relative).should == '0041 44 364 35 32'
37
+ @countries.formatted('41443643532', :format => :international_relative).should eql '0041 44 364 35 32'
38
38
  end
39
39
  it 'formats correctly' do
40
40
  old_format = @countries.national_format
41
41
  @countries.national_format = '%s%s'
42
42
 
43
- @countries.formatted('11231231234', :format => :national).should == '123 123 1234'
43
+ @countries.formatted('11231231234', :format => :national).should eql '123 123 1234'
44
44
 
45
45
  @countries.national_format = old_format
46
46
  end
@@ -48,139 +48,139 @@ describe Phony::CountryCodes do
48
48
 
49
49
  describe 'split' do
50
50
  it 'splits correctly' do
51
- @countries.split('41443643532').should == ['41', '0', '44', '364', '35', '32']
51
+ @countries.split('41443643532').should eql ['41', '0', '44', '364', '35', '32']
52
52
  end
53
53
  end
54
54
 
55
55
  describe 'formatted' do
56
56
  it 'formats correctly' do
57
- @countries.formatted('41443643532', :format => :international, :spaces => :-).should == '+41-44-364-35-32'
57
+ @countries.formatted('41443643532', :format => :international, :spaces => :-).should eql '+41-44-364-35-32'
58
58
  end
59
59
  it 'formats correctly' do
60
- @countries.formatted('41443643532', :format => :international_relative, :spaces => :-).should == '0041-44-364-35-32'
60
+ @countries.formatted('41443643532', :format => :international_relative, :spaces => :-).should eql '0041-44-364-35-32'
61
61
  end
62
62
  it 'formats correctly' do
63
- @countries.formatted('41443643532', :format => :national, :spaces => :-).should == '044-364-35-32'
63
+ @countries.formatted('41443643532', :format => :national, :spaces => :-).should eql '044-364-35-32'
64
64
  end
65
65
  context 'specific' do
66
66
  it 'formats ireland correctly' do
67
- @countries.formatted("3533451234", :format => :national).should == '0345 1234'
67
+ @countries.formatted("3533451234", :format => :national).should eql '0345 1234'
68
68
  end
69
69
  it 'formats ireland correctly' do
70
- @countries.formatted("353411231234", :format => :national).should == '041 123 1234'
70
+ @countries.formatted("353411231234", :format => :national).should eql '041 123 1234'
71
71
  end
72
72
  end
73
73
  context 'default' do
74
74
  it "should format swiss numbers" do
75
- @countries.formatted('41443643532').should == '+41 44 364 35 32'
75
+ @countries.formatted('41443643532').should eql '+41 44 364 35 32'
76
76
  end
77
77
  it "should format swiss service numbers" do
78
- @countries.formatted('41800112233').should == '+41 800 112 233'
78
+ @countries.formatted('41800112233').should eql '+41 800 112 233'
79
79
  end
80
80
  it "should format austrian numbers" do
81
- @countries.formatted('43198110').should == '+43 1 98110'
81
+ @countries.formatted('43198110').should eql '+43 1 98110'
82
82
  end
83
83
  it "should format american numbers" do
84
- @countries.formatted('18705551122').should == '+1 870 555 1122'
84
+ @countries.formatted('18705551122').should eql '+1 870 555 1122'
85
85
  end
86
86
  it "should format irish numbers" do
87
- @countries.formatted('35311234567').should == '+353 1 123 4567'
87
+ @countries.formatted('35311234567').should eql '+353 1 123 4567'
88
88
  end
89
89
  end
90
90
  describe "international" do
91
91
  it "should format north american numbers" do
92
- @countries.formatted('18091231234', :format => :international).should == '+1 809 123 1234'
92
+ @countries.formatted('18091231234', :format => :international).should eql '+1 809 123 1234'
93
93
  end
94
94
  it "should format austrian numbers" do
95
- @countries.formatted('43198110', :format => :international).should == '+43 1 98110'
95
+ @countries.formatted('43198110', :format => :international).should eql '+43 1 98110'
96
96
  end
97
97
  it "should format austrian numbers" do
98
- @countries.formatted('43198110', :format => :international_absolute).should == '+43 1 98110'
98
+ @countries.formatted('43198110', :format => :international_absolute).should eql '+43 1 98110'
99
99
  end
100
100
  it "should format french numbers" do
101
- @countries.formatted('33142278186', :format => :+).should == '+33 1 42 27 81 86'
101
+ @countries.formatted('33142278186', :format => :+).should eql '+33 1 42 27 81 86'
102
102
  end
103
103
  it "should format austrian numbers" do
104
- @countries.formatted('43198110', :format => :international_relative).should == '0043 1 98110'
104
+ @countries.formatted('43198110', :format => :international_relative).should eql '0043 1 98110'
105
105
  end
106
106
  it 'should format liechtensteiner numbers' do
107
- @countries.formatted('4233841148', :format => :international_relative).should == '00423 384 11 48'
107
+ @countries.formatted('4233841148', :format => :international_relative).should eql '00423 384 11 48'
108
108
  end
109
109
  it "should format irish numbers" do
110
- @countries.formatted('35311234567', :format => :international).should == '+353 1 123 4567'
110
+ @countries.formatted('35311234567', :format => :international).should eql '+353 1 123 4567'
111
111
  end
112
112
  it "should format luxembourgian numbers" do
113
- @countries.formatted('352222809', :format => :international).should == '+352 22 28 09'
113
+ @countries.formatted('352222809', :format => :international).should eql '+352 22 28 09'
114
114
  end
115
115
  it "should format luxembourgian 4-digit ndc numbers" do
116
- @countries.formatted('35226222809', :format => :international).should == '+352 26 22 28 09'
116
+ @countries.formatted('35226222809', :format => :international).should eql '+352 26 22 28 09'
117
117
  end
118
118
  it "should format luxembourgian mobile numbers" do
119
- @countries.formatted('352621123456', :format => :international).should == '+352 621 123 456'
119
+ @countries.formatted('352621123456', :format => :international).should eql '+352 621 123 456'
120
120
  end
121
121
  it "should format luxembourgian city numbers" do
122
- @countries.formatted('3524123456', :format => :international).should == '+352 4 12 34 56'
122
+ @countries.formatted('3524123456', :format => :international).should eql '+352 4 12 34 56'
123
123
  end
124
124
  it "should format luxembourgian machine to machine numbers" do
125
- @countries.formatted('352602112345678', :format => :international).should == '+352 6021 12 34 56 78'
125
+ @countries.formatted('352602112345678', :format => :international).should eql '+352 6021 12 34 56 78'
126
126
  end
127
127
  it "should format luxembourgian numbers" do
128
- @countries.formatted('352370431', :format => :international).should == '+352 37 04 31'
128
+ @countries.formatted('352370431', :format => :international).should eql '+352 37 04 31'
129
129
  end
130
130
  it "should format luxembourgian numbers" do
131
- @countries.formatted('35227855', :format => :international).should == '+352 27 85 5'
131
+ @countries.formatted('35227855', :format => :international).should eql '+352 27 85 5'
132
132
  end
133
133
  it "should format nigerian numbers" do
134
- @countries.formatted('23414480000', :format => :international).should == '+234 1 448 0000'
134
+ @countries.formatted('23414480000', :format => :international).should eql '+234 1 448 0000'
135
135
  end
136
136
  it "should format nigerian mobile numbers" do
137
- @countries.formatted('2347061234567', :format => :international).should == '+234 706 123 4567'
137
+ @countries.formatted('2347061234567', :format => :international).should eql '+234 706 123 4567'
138
138
  end
139
139
  context 'with no spaces' do
140
140
  it "should format north american numbers" do
141
- Phony.formatted('18091231234', :format => :international, :spaces => '').should == '+18091231234'
141
+ Phony.formatted('18091231234', :format => :international, :spaces => '').should eql '+18091231234'
142
142
  end
143
143
  it "should format austrian numbers" do
144
- Phony.formatted('43198110', :format => :international, :spaces => '').should == '+43198110'
144
+ Phony.formatted('43198110', :format => :international, :spaces => '').should eql '+43198110'
145
145
  end
146
146
  it "should format austrian numbers" do
147
- Phony.formatted('43198110', :format => :international_absolute, :spaces => '').should == '+43198110'
147
+ Phony.formatted('43198110', :format => :international_absolute, :spaces => '').should eql '+43198110'
148
148
  end
149
149
  it "should format french numbers" do
150
- Phony.formatted('33142278186', :format => :+, :spaces => '').should == '+33142278186'
150
+ Phony.formatted('33142278186', :format => :+, :spaces => '').should eql '+33142278186'
151
151
  end
152
152
  it "should format austrian numbers" do
153
- Phony.formatted('43198110', :format => :international_relative, :spaces => '').should == '0043198110'
153
+ Phony.formatted('43198110', :format => :international_relative, :spaces => '').should eql '0043198110'
154
154
  end
155
155
  it 'should format liechtensteiner numbers' do
156
- Phony.formatted('4233841148', :format => :international_relative, :spaces => '').should == '004233841148'
156
+ Phony.formatted('4233841148', :format => :international_relative, :spaces => '').should eql '004233841148'
157
157
  end
158
158
  end
159
159
  context 'with special spaces' do
160
160
  it "should format swiss numbers" do
161
- Phony.formatted('41443643532', :format => :international).should == '+41 44 364 35 32'
161
+ Phony.formatted('41443643532', :format => :international).should eql '+41 44 364 35 32'
162
162
  end
163
163
  it "should format north american numbers" do
164
- Phony.formatted('18091231234', :format => :international, :spaces => :-).should == '+1-809-123-1234'
164
+ Phony.formatted('18091231234', :format => :international, :spaces => :-).should eql '+1-809-123-1234'
165
165
  end
166
166
  it "should format austrian numbers" do
167
- Phony.formatted('43198110', :format => :international, :spaces => :-).should == '+43-1-98110'
167
+ Phony.formatted('43198110', :format => :international, :spaces => :-).should eql '+43-1-98110'
168
168
  end
169
169
  it "should format austrian numbers" do
170
- Phony.formatted('43198110', :format => :international_absolute, :spaces => :-).should == '+43-1-98110'
170
+ Phony.formatted('43198110', :format => :international_absolute, :spaces => :-).should eql '+43-1-98110'
171
171
  end
172
172
  it "should format french numbers" do
173
- Phony.formatted('33142278186', :format => :+, :spaces => :-).should == '+33-1-42-27-81-86'
173
+ Phony.formatted('33142278186', :format => :+, :spaces => :-).should eql '+33-1-42-27-81-86'
174
174
  end
175
175
  it "should format austrian numbers" do
176
- Phony.formatted('43198110', :format => :international_relative, :spaces => :-).should == '0043-1-98110'
176
+ Phony.formatted('43198110', :format => :international_relative, :spaces => :-).should eql '0043-1-98110'
177
177
  end
178
178
  it 'should format liechtensteiner numbers' do
179
- Phony.formatted('4233841148', :format => :international_relative, :spaces => :-).should == '00423-384-11-48'
179
+ Phony.formatted('4233841148', :format => :international_relative, :spaces => :-).should eql '00423-384-11-48'
180
180
  end
181
181
 
182
182
  end
183
183
  end
184
184
  end
185
185
 
186
- end
186
+ end
@@ -12,7 +12,7 @@ describe Phony::LocalSplitters::Regex do
12
12
  before(:each) do
13
13
  # Norway as example.
14
14
  #
15
- @splitter = described_class.instance_for /^[489].*$/ => [3,2,3], :fallback => [2,2,2,2]
15
+ @splitter = described_class.instance_for(/^[489].*$/ => [3,2,3], :fallback => [2,2,2,2])
16
16
  end
17
17
  it 'splits a number correctly' do
18
18
  @splitter.split('21234567').should == ['21','23','45','67']
@@ -58,28 +58,28 @@ describe Phony::LocalSplitters::Regex do
58
58
  end
59
59
 
60
60
  context 'Mapping does not exist for a number' do
61
- let(:local_splitter) { described_class.instance_for /\A5/ => [1,2,3]}
61
+ let(:local_splitter) { described_class.instance_for(/\A5/ => [1,2,3])}
62
62
  it 'returns false' do
63
63
  result.should be_false
64
64
  end
65
65
  end
66
66
 
67
67
  context "Mapping exists, but the length is greater" do
68
- let(:local_splitter) { described_class.instance_for /\A123/ => [2,2]}
68
+ let(:local_splitter) { described_class.instance_for(/\A123/ => [2,2])}
69
69
  it 'returns false' do
70
70
  result.should be_false
71
71
  end
72
72
  end
73
73
 
74
74
  context "Mapping exists, but the length is less" do
75
- let(:local_splitter) { described_class.instance_for /\A123/ => [2,2,3]}
75
+ let(:local_splitter) { described_class.instance_for(/\A123/ => [2,2,3])}
76
76
  it 'returns false' do
77
77
  result.should be_false
78
78
  end
79
79
  end
80
80
 
81
81
  context 'Mapping exists and the length is equal' do
82
- let(:local_splitter) { described_class.instance_for /\A123/ => [2,2,2]}
82
+ let(:local_splitter) { described_class.instance_for(/\A123/ => [2,2,2])}
83
83
  it 'returns true' do
84
84
  result.should be_true
85
85
  end
@@ -87,4 +87,4 @@ describe Phony::LocalSplitters::Regex do
87
87
 
88
88
  end
89
89
 
90
- end
90
+ end
@@ -6,7 +6,12 @@ describe Phony do
6
6
 
7
7
  describe 'regression' do
8
8
  it '#151' do
9
- Phony.normalize('1-111-111-1111').should == '1111111111' # One 1 is removed because 1 is the trunk code.
9
+ described_class.normalize('1-111-111-1111').should == '1111111111' # One 1 is removed because 1 is the trunk code.
10
+ described_class.normalize('111-111-1111', cc: '1').should == '1111111111' # One 1 is removed because 1 is the trunk code.
11
+ end
12
+ it 'best effort #152' do
13
+ described_class.split('39694805123').should == ['39', '694805123', []]
14
+ described_class.format('39694805123').should == '+39 694805123 '
10
15
  end
11
16
  end
12
17
 
@@ -15,7 +20,7 @@ describe Phony do
15
20
  it '' do
16
21
  us = described_class['1']
17
22
  us.plausible?('4159224711').should be_true
18
- us.normalize('4159224711').should == '4159224711'
23
+ us.normalize('4159224711').should eql '4159224711'
19
24
  end
20
25
  end
21
26
  end
@@ -35,73 +40,73 @@ describe Phony do
35
40
  end
36
41
  describe 'some examples' do
37
42
  it 'should normalize a too short number' do
38
- Phony.normalize('+972').should == '972'
43
+ Phony.normalize('+972').should eql '972'
39
44
  end
40
45
  it 'should normalize an already normalized number' do
41
- Phony.normalize('41443643533').should == '41443643533'
46
+ Phony.normalize('41443643533').should eql '41443643533'
42
47
  end
43
48
  it 'should normalize a format number' do
44
- Phony.normalize('+41 44 364 35 33').should == '41443643533'
49
+ Phony.normalize('+41 44 364 35 33').should eql '41443643533'
45
50
  end
46
51
  it 'should normalize a 00 number' do
47
- Phony.normalize('0041 44 364 35 33').should == '41443643533'
52
+ Phony.normalize('0041 44 364 35 33').should eql '41443643533'
48
53
  end
49
54
  it 'should normalize a service number' do
50
- Phony.normalize('+41 800 11 22 33').should == '41800112233'
55
+ Phony.normalize('+41 800 11 22 33').should eql '41800112233'
51
56
  end
52
57
  it 'should remove characters from the number' do
53
- Phony.normalize('John: +41 44 364 35 33').should == '41443643533'
58
+ Phony.normalize('John: +41 44 364 35 33').should eql '41443643533'
54
59
  end
55
60
  it 'should normalize one of these crazy american numbers' do
56
- Phony.normalize('1 (703) 451-5115').should == '17034515115'
61
+ Phony.normalize('1 (703) 451-5115').should eql '17034515115'
57
62
  end
58
63
  it 'should normalize another one of these crazy american numbers' do
59
- Phony.normalize('1-888-407-4747').should == '18884074747'
64
+ Phony.normalize('1-888-407-4747').should eql '18884074747'
60
65
  end
61
66
  it 'should normalize a number with colons' do
62
- Phony.normalize('1.906.387.1698').should == '19063871698'
67
+ Phony.normalize('1.906.387.1698').should eql '19063871698'
63
68
  end
64
69
  it 'should normalize a number with optional ndc' do
65
- Phony.normalize('+41 (044) 364 35 33').should == '41443643533'
70
+ Phony.normalize('+41 (044) 364 35 33').should eql '41443643533'
66
71
  end
67
72
  it 'should normalize a number with erroneous zero inside' do
68
- Phony.normalize('+410443643533').should == '41443643533'
73
+ Phony.normalize('+410443643533').should eql '41443643533'
69
74
  end
70
75
  it 'should not normalize a number with a correct zero inside' do
71
- Phony.normalize('+390909709511').should == '390909709511'
76
+ Phony.normalize('+390909709511').should eql '390909709511'
72
77
  end
73
78
 
74
79
  context 'special trunk prefixes' do
75
80
  it 'normalizes Hungary' do
76
- Phony.normalize('36 0630245506').should == '3630245506'
81
+ Phony.normalize('36 0630245506').should eql '3630245506'
77
82
  end
78
83
  it 'normalizes Russia' do
79
- Phony.normalize('7 8 342 1234567').should == '73421234567'
84
+ Phony.normalize('7 8 342 1234567').should eql '73421234567'
80
85
  end
81
86
  it 'normalizes Lithuania' do
82
- Phony.normalize('370 8 5 1234567').should == '37051234567'
87
+ Phony.normalize('370 8 5 1234567').should eql '37051234567'
83
88
  end
84
89
  it 'normalizes Belarus' do
85
- Phony.normalize('375 152450911').should == '375152450911'
90
+ Phony.normalize('375 152450911').should eql '375152450911'
86
91
  end
87
92
  end
88
93
  end
89
94
  describe 'country-based' do
90
95
  it 'normalizes the US correctly' do
91
- Phony["1"].normalize("555 1234567890").should == '5551234567890'
92
- Phony["1"].normalize("+1 555 1234567890").should == '5551234567890'
93
- Phony["1"].normalize("+1 (0) 555 1234567890").should == '5551234567890'
96
+ Phony["1"].normalize("555 1234567890").should eql '5551234567890'
97
+ Phony["1"].normalize("+1 555 1234567890").should eql '5551234567890'
98
+ Phony["1"].normalize("+1 (0) 555 1234567890").should eql '5551234567890'
94
99
  end
95
100
  it 'normalizes Japan correctly' do
96
- Phony["81"].normalize("80 1234 5634").should == '8012345634'
97
- Phony["81"].normalize("Hello 80 1234 5634").should == '8012345634'
101
+ Phony["81"].normalize("80 1234 5634").should eql '8012345634'
102
+ Phony["81"].normalize("Hello 80 1234 5634").should eql '8012345634'
98
103
  end
99
104
  end
100
105
  end
101
106
 
102
107
  describe 'formatted' do
103
108
  it 'is an alias of format' do
104
- Phony.formatted('41443643532').should == '+41 44 364 35 32'
109
+ Phony.formatted('41443643532').should eql '+41 44 364 35 32'
105
110
  end
106
111
  end
107
112
 
@@ -115,128 +120,128 @@ describe Phony do
115
120
  end
116
121
  describe 'default' do
117
122
  it 'should format swiss numbers' do
118
- Phony.format('41443643532').should == '+41 44 364 35 32'
123
+ Phony.format('41443643532').should eql '+41 44 364 35 32'
119
124
  end
120
125
  # TODO
121
126
  #
122
127
  it 'should format swiss service numbers' do
123
- Phony.format('41800112233').should == '+41 800 112 233'
128
+ Phony.format('41800112233').should eql '+41 800 112 233'
124
129
  end
125
130
  it 'should format austrian numbers' do
126
- Phony.format('43198110').should == '+43 1 98110'
131
+ Phony.format('43198110').should eql '+43 1 98110'
127
132
  end
128
133
  it 'should format american numbers' do
129
- Phony.format('18705551122').should == '+1 870 555 1122'
134
+ Phony.format('18705551122').should eql '+1 870 555 1122'
130
135
  end
131
136
  it 'should format New Zealand 021 mobile numbers' do
132
- Phony.format('64211234567').should == '+64 21 123 4567'
137
+ Phony.format('64211234567').should eql '+64 21 123 4567'
133
138
  end
134
139
  it 'should format New Zealand landline numbers' do
135
- Phony.format('6493791234').should == '+64 9 379 1234'
140
+ Phony.format('6493791234').should eql '+64 9 379 1234'
136
141
  end
137
142
  it 'should format Indian numbers' do
138
- Phony.format('914433993939').should == '+91 44 339 93 939'
143
+ Phony.format('914433993939').should eql '+91 44 339 93 939'
139
144
  end
140
145
  end
141
146
  describe 'international' do
142
147
  it 'should format north american numbers' do
143
- Phony.format('18091231234', :format => :international).should == '+1 809 123 1234'
148
+ Phony.format('18091231234', :format => :international).should eql '+1 809 123 1234'
144
149
  end
145
150
  it 'should format austrian numbers' do
146
- Phony.format('43198110', :format => :international).should == '+43 1 98110'
151
+ Phony.format('43198110', :format => :international).should eql '+43 1 98110'
147
152
  end
148
153
  it 'should format austrian numbers' do
149
- Phony.format('43198110', :format => :international_absolute).should == '+43 1 98110'
154
+ Phony.format('43198110', :format => :international_absolute).should eql '+43 1 98110'
150
155
  end
151
156
  it 'should format french numbers' do
152
- Phony.format('33142278186', :format => :+).should == '+33 1 42 27 81 86'
157
+ Phony.format('33142278186', :format => :+).should eql '+33 1 42 27 81 86'
153
158
  end
154
159
  it 'should format austrian numbers' do
155
- Phony.format('43198110', :format => :international_relative).should == '0043 1 98110'
160
+ Phony.format('43198110', :format => :international_relative).should eql '0043 1 98110'
156
161
  end
157
162
  it 'should format liechtensteiner numbers' do
158
- Phony.format('4233841148', :format => :international_relative).should == '00423 384 11 48'
163
+ Phony.format('4233841148', :format => :international_relative).should eql '00423 384 11 48'
159
164
  end
160
165
  context 'with no spaces' do
161
166
  it 'should format north american numbers' do
162
- Phony.format('18091231234', :format => :international, :spaces => '').should == '+18091231234'
167
+ Phony.format('18091231234', :format => :international, :spaces => '').should eql '+18091231234'
163
168
  end
164
169
  it 'should format austrian numbers' do
165
- Phony.format('43198110', :format => :international, :spaces => '').should == '+43198110'
170
+ Phony.format('43198110', :format => :international, :spaces => '').should eql '+43198110'
166
171
  end
167
172
  it 'should format austrian numbers' do
168
- Phony.format('43198110', :format => :international_absolute, :spaces => '').should == '+43198110'
173
+ Phony.format('43198110', :format => :international_absolute, :spaces => '').should eql '+43198110'
169
174
  end
170
175
  it 'should format french numbers' do
171
- Phony.format('33142278186', :format => :+, :spaces => '').should == '+33142278186'
176
+ Phony.format('33142278186', :format => :+, :spaces => '').should eql '+33142278186'
172
177
  end
173
178
  it 'should format austrian numbers' do
174
- Phony.format('43198110', :format => :international_relative, :spaces => '').should == '0043198110'
179
+ Phony.format('43198110', :format => :international_relative, :spaces => '').should eql '0043198110'
175
180
  end
176
181
  it 'should format liechtensteiner numbers' do
177
- Phony.format('4233841148', :format => :international_relative, :spaces => '').should == '004233841148'
182
+ Phony.format('4233841148', :format => :international_relative, :spaces => '').should eql '004233841148'
178
183
  end
179
184
  end
180
185
  context 'with special spaces' do
181
186
  it 'should format swiss numbers' do
182
- Phony.format('41443643532', :format => :international).should == '+41 44 364 35 32'
187
+ Phony.format('41443643532', :format => :international).should eql '+41 44 364 35 32'
183
188
  end
184
189
  it 'should format north american numbers' do
185
- Phony.format('18091231234', :format => :international, :spaces => :-).should == '+1-809-123-1234'
190
+ Phony.format('18091231234', :format => :international, :spaces => :-).should eql '+1-809-123-1234'
186
191
  end
187
192
  it 'should format austrian numbers' do
188
- Phony.format('43198110', :format => :international, :spaces => :-).should == '+43-1-98110'
193
+ Phony.format('43198110', :format => :international, :spaces => :-).should eql '+43-1-98110'
189
194
  end
190
195
  it 'should format austrian numbers' do
191
- Phony.format('43198110', :format => :international_absolute, :spaces => :-).should == '+43-1-98110'
196
+ Phony.format('43198110', :format => :international_absolute, :spaces => :-).should eql '+43-1-98110'
192
197
  end
193
198
  it 'should format french numbers' do
194
- Phony.format('33142278186', :format => :+, :spaces => :-).should == '+33-1-42-27-81-86'
199
+ Phony.format('33142278186', :format => :+, :spaces => :-).should eql '+33-1-42-27-81-86'
195
200
  end
196
201
  it 'should format austrian numbers' do
197
- Phony.format('43198110', :format => :international_relative, :spaces => :-).should == '0043-1-98110'
202
+ Phony.format('43198110', :format => :international_relative, :spaces => :-).should eql '0043-1-98110'
198
203
  end
199
204
  it 'should format liechtensteiner numbers' do
200
- Phony.format('4233841148', :format => :international_relative, :spaces => :-).should == '00423-384-11-48'
205
+ Phony.format('4233841148', :format => :international_relative, :spaces => :-).should eql '00423-384-11-48'
201
206
  end
202
207
  end
203
208
  describe "'unsupported' countries" do
204
209
  it 'should format as a single block' do
205
- Phony.format('88132155605220').should == '+881 32155605220'
210
+ Phony.format('88132155605220').should eql '+881 32155605220'
206
211
  end
207
212
  it 'should format as a single block, regardless of format' do
208
- Phony.format('8811819372205', :format => :international).should == '+881 1819372205'
213
+ Phony.format('8811819372205', :format => :international).should eql '+881 1819372205'
209
214
  end
210
215
  it 'should format as a single block, respecting custom spaces' do
211
- Phony.format('8811819372205', :spaces => :-).should == '+881-1819372205'
216
+ Phony.format('8811819372205', :spaces => :-).should eql '+881-1819372205'
212
217
  end
213
218
  it 'should format as a single block, even without spaces' do
214
- Phony.format('8811819372205', :spaces => '').should == '+8811819372205'
219
+ Phony.format('8811819372205', :spaces => '').should eql '+8811819372205'
215
220
  end
216
221
  end
217
222
  end
218
223
  describe 'national' do
219
224
  it 'should format swiss numbers' do
220
- Phony.format('41443643532', :format => :national).should == '044 364 35 32'
225
+ Phony.format('41443643532', :format => :national).should eql '044 364 35 32'
221
226
  end
222
227
  # TODO
223
228
  #
224
229
  it 'should format swiss service numbers' do
225
- Phony.format('41800112233', :format => :national).should == '0800 112 233'
230
+ Phony.format('41800112233', :format => :national).should eql '0800 112 233'
226
231
  end
227
232
  it 'should format austrian numbers' do
228
- Phony.format('43198110', :format => :national).should == '01 98110'
233
+ Phony.format('43198110', :format => :national).should eql '01 98110'
229
234
  end
230
235
  it 'should format US numbers without a leading zero' do
231
- Phony.format('14159224711', :format => :national).should == '415 922 4711'
236
+ Phony.format('14159224711', :format => :national).should eql '415 922 4711'
232
237
  end
233
238
  end
234
239
  describe 'local' do
235
240
  it 'should format swiss numbers' do
236
- Phony.format('41443643532', :format => :local).should == '364 35 32'
241
+ Phony.format('41443643532', :format => :local).should eql '364 35 32'
237
242
  end
238
243
  it 'should format german numbers' do
239
- Phony.format('493038625454', :format => :local).should == '386 25454'
244
+ Phony.format('493038625454', :format => :local).should eql '386 25454'
240
245
  end
241
246
  end
242
247
  end
@@ -244,7 +249,7 @@ describe Phony do
244
249
  context 'minimal cases' do
245
250
  context 'normalizing' do
246
251
  it "handles completely crazy 'numbers'" do
247
- Phony.normalize('Hello, I am Cora, the 41th parrot, and 044 is my 364 times 35 funky number. 32.').should == '41443643532'
252
+ Phony.normalize('Hello, I am Cora, the 41th parrot, and 044 is my 364 times 35 funky number. 32.').should eql '41443643532'
248
253
  end
249
254
  end
250
255
  context 'splitting' do
@@ -256,32 +261,32 @@ describe Phony do
256
261
  end
257
262
  end
258
263
  it 'handles completely missing numbers well enough' do
259
- Phony.split('4144').should == ['41', '44', '']
264
+ Phony.split('4144').should eql ['41', '44', '']
260
265
  end
261
266
  it 'handles a missing number part' do
262
- Phony.split('4144364').should == ['41', '44', '364']
267
+ Phony.split('4144364').should eql ['41', '44', '364']
263
268
  end
264
269
  it 'handles a missing number part' do
265
- Phony.split('414436435').should == ['41', '44', '364', '35']
270
+ Phony.split('414436435').should eql ['41', '44', '364', '35']
266
271
  end
267
272
  end
268
273
  context 'formatting' do
269
274
  it 'handles completely missing numbers well enough' do
270
- Phony.format('4144').should == '+41 44 '
275
+ Phony.format('4144').should eql '+41 44 '
271
276
  end
272
277
  it 'handles a missing number part' do
273
- Phony.format('4144364').should == '+41 44 364'
278
+ Phony.format('4144364').should eql '+41 44 364'
274
279
  end
275
280
  it 'handles a missing number part' do
276
- Phony.format('414436435').should == '+41 44 364 35'
281
+ Phony.format('414436435').should eql '+41 44 364 35'
277
282
  end
278
283
  end
279
284
  context "'unsupported' countries" do
280
285
  it 'handles formatting' do
281
- Phony.format('88132155605220').should == '+881 32155605220'
286
+ Phony.format('88132155605220').should eql '+881 32155605220'
282
287
  end
283
288
  it 'handles normalizing' do
284
- Phony.normalize('+881-321 5560 5220').should == '88132155605220'
289
+ Phony.normalize('+881-321 5560 5220').should eql '88132155605220'
285
290
  end
286
291
  end
287
292
  end
@@ -336,11 +341,11 @@ describe Phony do
336
341
  end
337
342
 
338
343
  describe 'vanity_to_number' do
339
- it {Phony.vanity_to_number('41800WEGGLI').should == '41800934454'}
340
- it {Phony.vanity_to_number('41800weggli').should == '41800934454'}
341
- # it {Phony.vanity_to_number('41800SUCCESSMATCH').should == '41800782237'} # Cut off according to the swiss norms.
342
- it {Phony.vanity_to_number('41800SUCCESSMATCH').should == '41800782237762824'} # Allow for call-through numbers (>= 1.6.0)
343
- it {Phony.vanity_to_number('4180BLA').should == '4180252'} # Does not check for validity of number.
344
+ it {Phony.vanity_to_number('41800WEGGLI').should eql '41800934454'}
345
+ it {Phony.vanity_to_number('41800weggli').should eql '41800934454'}
346
+ # it {Phony.vanity_to_number('41800SUCCESSMATCH').should eql '41800782237'} # Cut off according to the swiss norms.
347
+ it {Phony.vanity_to_number('41800SUCCESSMATCH').should eql '41800782237762824'} # Allow for call-through numbers (>= 1.6.0)
348
+ it {Phony.vanity_to_number('4180BLA').should eql '4180252'} # Does not check for validity of number.
344
349
  end
345
350
  end
346
351
 
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.2.4
4
+ version: 2.2.5
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-04-04 00:00:00.000000000 Z
11
+ date: 2014-04-20 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