phony 1.2.11 → 1.3.0

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.
Files changed (49) hide show
  1. data/README.textile +1 -1
  2. data/lib/countries.rb +385 -0
  3. data/lib/phony.rb +11 -9
  4. data/lib/phony/countries.rb +1 -0
  5. data/lib/phony/countries/austria.rb +68 -67
  6. data/lib/phony/countries/belgium.rb +29 -57
  7. data/lib/phony/countries/chile.rb +5 -12
  8. data/lib/phony/countries/china.rb +21 -20
  9. data/lib/phony/countries/egypt.rb +12 -37
  10. data/lib/phony/countries/germany.rb +39 -36
  11. data/lib/phony/countries/greece.rb +21 -25
  12. data/lib/phony/countries/hungary.rb +6 -19
  13. data/lib/phony/countries/italy.rb +174 -152
  14. data/lib/phony/countries/malaysia.rb +17 -17
  15. data/lib/phony/countries/netherlands.rb +50 -52
  16. data/lib/phony/countries/romania.rb +28 -27
  17. data/lib/phony/countries/south_korea.rb +11 -11
  18. data/lib/phony/countries/sweden.rb +49 -49
  19. data/lib/phony/countries/united_kingdom.rb +4 -4
  20. data/lib/phony/country.rb +14 -80
  21. data/lib/phony/country_codes.rb +23 -3
  22. data/lib/phony/dsl.rb +78 -0
  23. data/lib/phony/national_code.rb +2 -5
  24. data/lib/phony/national_splitters/dsl.rb +20 -0
  25. data/lib/phony/national_splitters/fixed.rb +1 -1
  26. data/lib/phony/national_splitters/none.rb +1 -1
  27. data/lib/phony/national_splitters/regex.rb +49 -0
  28. data/lib/phony/national_splitters/variable.rb +6 -6
  29. data/lib/phony/vanity.rb +3 -0
  30. data/spec/lib/phony/country_codes_spec.rb +1 -1
  31. data/spec/lib/phony/country_spec.rb +12 -45
  32. data/spec/lib/phony/local_splitters/fixed_spec.rb +8 -0
  33. data/spec/lib/phony/national_code_spec.rb +13 -0
  34. data/spec/lib/phony/national_splitters/regex_spec.rb +23 -0
  35. data/spec/lib/phony/national_splitters/variable_spec.rb +2 -4
  36. data/spec/lib/phony_spec.rb +44 -4
  37. metadata +9 -21
  38. data/lib/phony/countries/all_other.rb +0 -455
  39. data/lib/phony/countries/norway.rb +0 -11
  40. data/lib/phony/countries/peru.rb +0 -19
  41. data/lib/phony/countries/portugal.rb +0 -16
  42. data/lib/phony/national_splitters/experimental.rb +0 -17
  43. data/spec/lib/phony/countries/austria_spec.rb +0 -24
  44. data/spec/lib/phony/countries/belgium_spec.rb +0 -33
  45. data/spec/lib/phony/countries/egypt_spec.rb +0 -18
  46. data/spec/lib/phony/countries/greece_spec.rb +0 -18
  47. data/spec/lib/phony/countries/portugal_spec.rb +0 -21
  48. data/spec/lib/phony/countries/switzerland_spec.rb +0 -18
  49. data/spec/lib/phony/countries/united_kingdom_spec.rb +0 -50
@@ -8,8 +8,15 @@ describe Phony do
8
8
  it 'handles afghan numbers' do
9
9
  Phony.split('93201234567').should == ['93', '20', '1234567'] # Kabul
10
10
  end
11
+ it 'handles algerian numbers' do
12
+ Phony.split('213211231234').should == ['213', '21', '123', '1234'] # Algiers
13
+ Phony.split('213331231234').should == ['213', '33', '123', '1234'] # Batna
14
+ end
11
15
  it "handles austrian numbers" do
12
- Phony.split('43198110').should == ['43', '1', '98110']
16
+ Phony.split('43198110').should == ['43', '1', '98110'] # Vienna
17
+ Phony.split('4366914093902').should == ['43', '669', '14093902'] # Mobile
18
+ Phony.split('433161234567891').should == ['43', '316', '1234567891'] # Graz
19
+ Phony.split('432164123456789').should == ['43', '2164', '123456789'] # Rohrau
13
20
  end
14
21
  it 'handles belgian numbers' do
15
22
  Phony.split('3235551212').should == ['32', '3', '555', '1212'] # Antwerpen
@@ -31,6 +38,11 @@ describe Phony do
31
38
  Phony.split('862112345678').should == ['86', '21', '1234', '5678'] # Shanghai
32
39
  Phony.split('8675582193447').should == ['86', '755', '8219', '3447'] # Shenzhen
33
40
  end
41
+ it 'handles cuban numbers' do
42
+ Phony.split('5351231234').should == ['53', '5123', '1234'] # Mobile
43
+ Phony.split('5371234567').should == ['53', '7', '1234567'] # Havana
44
+ Phony.split('5342123456').should == ['53', '42', '123456'] # Villa Clara
45
+ end
34
46
  it 'handles danish numbers' do
35
47
  Phony.split('4532121212').should == ['45', '32', '12', '12', '12']
36
48
  end
@@ -41,6 +53,7 @@ describe Phony do
41
53
  end
42
54
  it "handles egyptian numbers" do
43
55
  Phony.split('20212345678').should == ['20', '2', '12345678']
56
+ Phony.split('20921234567').should == ['20', '92', '1234567']
44
57
  Phony.split('20951234567').should == ['20', '95', '1234567']
45
58
  end
46
59
  it "handles french numbers" do
@@ -53,11 +66,19 @@ describe Phony do
53
66
  Phony.split('493434112345').should == ['49', '34341', '123', '45'] # Geithain
54
67
  end
55
68
  it "should handle greek numbers" do
69
+ Phony.split('3021123456').should == ['30', '21', '123456']
70
+ Phony.split('3025941234').should == ['30', '2594', '1234']
56
71
  Phony.split('3022631234').should == ['30', '2263', '1234']
57
72
  end
58
73
  it "should handle hungarian numbers" do
59
74
  Phony.split('3612345678').should == ['36', '1', '234', '5678']
60
75
  end
76
+ it "should handle icelandic numbers" do
77
+ Phony.split('354112').should == ['354', '112'] # Emergency TODO
78
+ Phony.split('3544211234').should == ['354', '421', '1234'] # Keflavík
79
+ Phony.split('3544621234').should == ['354', '462', '1234'] # Akureyri
80
+ Phony.split('3545511234').should == ['354', '551', '1234'] # Reykjavík
81
+ end
61
82
  it "should handle italian numbers" do
62
83
  Phony.split('3934869528').should == ['39', '3486', '952', '8'] # Mobile
63
84
  Phony.split('39068546705').should == ['39', '06', '854', '6705'] # Roma
@@ -68,6 +89,10 @@ describe Phony do
68
89
  Phony.split('60312345678').should == ['60', '3', '12345678'] # Kuala Lumpur
69
90
  Phony.split('60212345678').should == ['60', '2', '12345678'] # Singapore
70
91
  end
92
+ it 'handles mexican numbers' do
93
+ Phony.split('525512121212').should == ['52', '55', '12', '12', '12', '12'] # Mexico City
94
+ Phony.split('526641231212').should == ['52', '664', '123', '12', '12'] # Tijuana
95
+ end
71
96
  it 'handles norwegian numbers' do
72
97
  Phony.split('4721234567').should == ['47','21','23','45','67']
73
98
  Phony.split('4731234567').should == ['47','31','23','45','67']
@@ -100,12 +125,16 @@ describe Phony do
100
125
  Phony.split('78122345678').should == ['7', '812', '234', '56', '78']
101
126
  end
102
127
  it 'handles south korean numbers' do
103
- Phony.split('82212345678').should == ['82', '2', '1234', '5678'] # Seoul
128
+ Phony.split('82212345678').should == ['82', '2', '1234', '5678'] # Seoul
104
129
  Phony.split('825112345678').should == ['82', '51', '1234', '5678'] # Busan
105
130
  Phony.split('821027975588').should == ['82', '10', '2797', '5588'] # mobile
106
131
  end
132
+ it 'handles tunisian numbers' do
133
+ Phony.split('21611231234').should == ['216', '1', '123', '1234'] # Ariana
134
+ Phony.split('21621231234').should == ['216', '2', '123', '1234'] # Bizerte
135
+ end
107
136
  it "should handle swedish numbers" do
108
- Phony.split('46812345678').should == ['46', '8', '12345678']
137
+ Phony.split('46812345678').should == ['46', '8', '12345678'] # Stockholm
109
138
  Phony.split('46111234567').should == ['46', '11', '1234567']
110
139
  Phony.split('46125123456').should == ['46', '125', '123456']
111
140
  end
@@ -115,7 +144,18 @@ describe Phony do
115
144
  it 'handles turkish numbers' do
116
145
  Phony.split('903121234567').should == ['90', '312', '123', '4567'] # Ankara
117
146
  end
118
- it "should handle US numbers" do
147
+ it 'handles UK numbers' do
148
+ Phony.split('442045671113').should == ['44', '20', '4567', '1113'] # London
149
+ Phony.split('442076229901').should == ['44', '20', '7622', '9901'] # Cardiff
150
+ Phony.split('441136770011').should == ['44', '113', '677', '0011'] # Leeds
151
+ Phony.split('441382229845').should == ['44', '1382', '229845'] # Dundee
152
+ Phony.split('44120499532').should == ['44', '1204', '99532'] # Bolten
153
+ Phony.split('441539618756').should == ['44', '15396', '18756'] # Sedbergh
154
+ Phony.split('447780605207').should == ['44', '7780', '605207'] # Mobile
155
+ Phony.split('447480605207').should == ['44', '7480', '605207'] # Mobile
156
+ Phony.split('448005878323').should == ['44', '800', '587', '8323'] # Service, regression
157
+ end
158
+ it "handles US numbers" do
119
159
  Phony.split('15551115511').should == ['1', '555', '111', '5511']
120
160
  end
121
161
  it "should handle venezuelan numbers" do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: phony
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.11
5
+ version: 1.3.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Florian Hanke
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-02-22 00:00:00 +01:00
13
+ date: 2011-02-26 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -23,7 +23,7 @@ extensions: []
23
23
  extra_rdoc_files:
24
24
  - README.textile
25
25
  files:
26
- - lib/phony/countries/all_other.rb
26
+ - lib/countries.rb
27
27
  - lib/phony/countries/austria.rb
28
28
  - lib/phony/countries/belgium.rb
29
29
  - lib/phony/countries/chile.rb
@@ -35,34 +35,27 @@ files:
35
35
  - lib/phony/countries/italy.rb
36
36
  - lib/phony/countries/malaysia.rb
37
37
  - lib/phony/countries/netherlands.rb
38
- - lib/phony/countries/norway.rb
39
- - lib/phony/countries/peru.rb
40
- - lib/phony/countries/portugal.rb
41
38
  - lib/phony/countries/romania.rb
42
39
  - lib/phony/countries/south_korea.rb
43
40
  - lib/phony/countries/sweden.rb
44
41
  - lib/phony/countries/united_kingdom.rb
42
+ - lib/phony/countries.rb
45
43
  - lib/phony/country.rb
46
44
  - lib/phony/country_codes.rb
45
+ - lib/phony/dsl.rb
47
46
  - lib/phony/local_splitters/fixed.rb
48
47
  - lib/phony/local_splitters/regex.rb
49
48
  - lib/phony/national_code.rb
50
- - lib/phony/national_splitters/experimental.rb
49
+ - lib/phony/national_splitters/dsl.rb
51
50
  - lib/phony/national_splitters/fixed.rb
52
51
  - lib/phony/national_splitters/none.rb
52
+ - lib/phony/national_splitters/regex.rb
53
53
  - lib/phony/national_splitters/variable.rb
54
54
  - lib/phony/vanity.rb
55
55
  - lib/phony.rb
56
56
  - README.textile
57
- - spec/lib/phony/countries/austria_spec.rb
58
- - spec/lib/phony/countries/belgium_spec.rb
59
- - spec/lib/phony/countries/egypt_spec.rb
60
57
  - spec/lib/phony/countries/germany_spec.rb
61
- - spec/lib/phony/countries/greece_spec.rb
62
58
  - spec/lib/phony/countries/hungary_spec.rb
63
- - spec/lib/phony/countries/portugal_spec.rb
64
- - spec/lib/phony/countries/switzerland_spec.rb
65
- - spec/lib/phony/countries/united_kingdom_spec.rb
66
59
  - spec/lib/phony/country_codes_spec.rb
67
60
  - spec/lib/phony/country_spec.rb
68
61
  - spec/lib/phony/local_splitters/fixed_spec.rb
@@ -70,6 +63,7 @@ files:
70
63
  - spec/lib/phony/national_code_spec.rb
71
64
  - spec/lib/phony/national_splitters/fixed_spec.rb
72
65
  - spec/lib/phony/national_splitters/none_spec.rb
66
+ - spec/lib/phony/national_splitters/regex_spec.rb
73
67
  - spec/lib/phony/national_splitters/variable_spec.rb
74
68
  - spec/lib/phony/vanity_spec.rb
75
69
  - spec/lib/phony_spec.rb
@@ -102,15 +96,8 @@ signing_key:
102
96
  specification_version: 3
103
97
  summary: Fast international phone number (E164 standard) normalizing, splitting and formatting.
104
98
  test_files:
105
- - spec/lib/phony/countries/austria_spec.rb
106
- - spec/lib/phony/countries/belgium_spec.rb
107
- - spec/lib/phony/countries/egypt_spec.rb
108
99
  - spec/lib/phony/countries/germany_spec.rb
109
- - spec/lib/phony/countries/greece_spec.rb
110
100
  - spec/lib/phony/countries/hungary_spec.rb
111
- - spec/lib/phony/countries/portugal_spec.rb
112
- - spec/lib/phony/countries/switzerland_spec.rb
113
- - spec/lib/phony/countries/united_kingdom_spec.rb
114
101
  - spec/lib/phony/country_codes_spec.rb
115
102
  - spec/lib/phony/country_spec.rb
116
103
  - spec/lib/phony/local_splitters/fixed_spec.rb
@@ -118,6 +105,7 @@ test_files:
118
105
  - spec/lib/phony/national_code_spec.rb
119
106
  - spec/lib/phony/national_splitters/fixed_spec.rb
120
107
  - spec/lib/phony/national_splitters/none_spec.rb
108
+ - spec/lib/phony/national_splitters/regex_spec.rb
121
109
  - spec/lib/phony/national_splitters/variable_spec.rb
122
110
  - spec/lib/phony/vanity_spec.rb
123
111
  - spec/lib/phony_spec.rb
@@ -1,455 +0,0 @@
1
- # Splits a national number into a fixed size NDC and rest.
2
- #
3
- module Phony
4
- module Countries
5
-
6
- # Ideas for a DSL:
7
- #
8
- # country(fixed(2) >> local([3,2,2]))
9
- # country(none >> local([2,2,2,2]))
10
- #
11
-
12
- # Returns an anonymous fixed size ndc / format country handler.
13
- #
14
- def self.fixed size, options = {}
15
- options.merge! :ndc_length => size
16
- Phony::Country.fixed options
17
- end
18
-
19
- #
20
- #
21
- def self.custom *splitters
22
- codes = []
23
- splitters.flatten!
24
- until splitters.empty?
25
- codes << Phony::NationalCode.new(splitters.shift, splitters.shift)
26
- end
27
- Phony::Country.new *codes
28
- end
29
-
30
- # Experimental.
31
- #
32
- def self.fix size
33
- NationalSplitters::Fixed.instance_for size
34
- end
35
- def self.none
36
- NationalSplitters::None.instance_for
37
- end
38
- #
39
- #
40
- def self.format local
41
- LocalSplitters::Fixed.instance_for local
42
- end
43
-
44
- # TODO
45
- #
46
- def self.with_cc cc
47
- mapping[cc.size][cc.to_s]
48
- end
49
-
50
- # Defines a mapping of country code to all splitters/formatters.
51
- #
52
- # Note: The above fixed helper is used.
53
- # In some cases, we have explicit countries defined.
54
- #
55
- # Note: Many taken from http://en.wikipedia.org/wiki/Telephone_numbering_plan.
56
- #
57
- def self.mapping
58
- {
59
- 1 => {
60
- '0' => fixed(1), # reserved
61
- '1' => fixed(3, # USA, Canada, etc.
62
- :local_format => [3, 4]
63
- ),
64
-
65
- # Kazakhstan (Republic of) & Russian Federation
66
- # http://en.wikipedia.org/wiki/Telephone_numbers_in_Russia
67
- #
68
- '7' => fixed(3,
69
- :local_format => [3, 2, 2]
70
- ),
71
- },
72
- 2 => {
73
- '20' => Countries::Egypt,
74
- '27' => fixed(2, # South Africa
75
- :local_format => [3, 4]
76
- ),
77
-
78
- '30' => Countries::Greece,
79
- '31' => Countries::Netherlands,
80
- '32' => Countries::Belgium,
81
- '33' => fixed(1, # France
82
- :local_format => [2, 2, 2, 2],
83
- :service_ndcs => %w{8}
84
- # :special_ndcs => {
85
- # :service => %w{8},
86
- # :mobile => %w{6 7}
87
- # }
88
- ),
89
- '34' => fixed(2, # Spain
90
- :local_format => [3, 4]
91
- ),
92
- '36' => Countries::Hungary,
93
- '39' => Countries::Italy,
94
-
95
- '40' => Countries::Romania,
96
- '41' => fixed(2, # Switzerland (Confederation of)
97
- :local_format => [3, 2, 2],
98
- :service_local_format => [3, 3],
99
- :service_ndcs => %w{800 840 842 844 848}
100
- # :special_ndcs => {
101
- # :service => %w{800 840 842 844 848},
102
- # :mobile => %w{74 76 77 78 79}
103
- # }
104
- ),
105
- '43' => Countries::Austria,
106
- '44' => Countries::UnitedKingdom, # TODO United Kingdom of Great Britain and Northern Ireland
107
- '45' => custom(none >> format([2,2,2,2])), # Denmark
108
- '46' => Countries::Sweden,
109
- '47' => Countries::Norway, # custom(none >> regexp(/^[1].*$/ => [3], /^[489].*$/ => [3,2,3], :fallback => [2,2,2,2]))
110
- '48' => fixed(3, # Poland (Republic of)
111
- :local_format => [3, 3] # Although the NDCs are 2 digits, the representation is 3 digits.
112
- ), # Note: http://wapedia.mobi/en/Telephone_numbers_in_Poland, mobile not yet correct
113
- '49' => Countries::Germany,
114
-
115
- '51' => Countries::Peru,
116
- '52' => fixed(2), # TODO Mexico
117
- '53' => fixed(2), # TODO Cuba
118
- '54' => fixed(2), # TODO Argentine Republic
119
- '55' => fixed(2, # Brazil (Federative Republic of)
120
- :local_format => [4, 4],
121
- :service_ndcs => %w{100 128 190 191 192 193 194 197 198 199}
122
- ), # http://en.wikipedia.org/wiki/Telephone_numbers_in_Brazil
123
- '56' => Countries::Chile,
124
- '57' => fixed(2), # TODO Colombia (Republic of)
125
- '58' => fixed(3, # Venezuela (Bolivarian Republic of)
126
- :local_format => [7]
127
- ),
128
-
129
- '60' => Countries::Malaysia, # Malaysia, http://en.wikipedia.org/wiki/Telephone_numbers_in_Malaysia
130
- '61' => fixed(1, # Australia
131
- :local_format => [4, 4]
132
- ),
133
- '62' => fixed(2), # TODO Indonesia (Republic of)
134
- '63' => fixed(2), # TODO Philippines (Republic of the)
135
- '64' => fixed(1, # New Zealand
136
- :local_format => [3, 4]
137
- ),
138
- '65' => fixed(2), # TODO Singapore (Republic of)
139
- '66' => fixed(2), # TODO Thailand
140
-
141
- '81' => fixed(2), # TODO Japan
142
- '82' => Countries::SouthKorea, # Korea (Republic of), http://en.wikipedia.org/wiki/Telephone_numbers_in_South_Korea
143
- '84' => fixed(2), # TODO Viet Nam (Socialist Republic of)
144
- '86' => Countries::China, # China (People's Republic of), http://en.wikipedia.org/wiki/Telephone_numbers_in_China
145
-
146
- '90' => fixed(3, # Turkey, http://en.wikipedia.org/wiki/Telephone_numbers_in_Turkey
147
- :local_format => [3, 4] # Wiki says 7, but the examples say 3, 4.
148
- ),
149
- '91' => fixed(2), # TODO India (Republic of)
150
- '92' => fixed(2), # TODO Pakistan (Islamic Republic of), http://en.wikipedia.org/wiki/Telephone_numbers_in_Pakistan, NDC 2-5
151
- '93' => fixed(2, # Afghanistan
152
- :local_format => [7] # Actually, the document says 6, but the examples use 7.
153
- ), # http://www.wtng.info/wtng-93-af.html
154
- '94' => fixed(2), # TODO Sri Lanka (Democratic Socialist Republic of)
155
- '95' => fixed(2), # TODO Myanmar (Union of)
156
- '98' => fixed(2), # TODO Iran (Islamic Republic of)
157
- },
158
- 3 => {
159
- # TODO From here on.
160
- #
161
- '210' => fixed(2), # -
162
- '211' => fixed(2), # -
163
- '212' => fixed(2), # Morocco
164
- '213' => fixed(2), # Algeria
165
- '214' => fixed(2), # -
166
- '215' => fixed(2), # -
167
- '216' => fixed(2), # Tunisia
168
- '217' => fixed(2), # -
169
- '218' => fixed(2), # Lybia
170
- '219' => fixed(2), # -
171
-
172
- '220' => fixed(2), # Gambia
173
- '221' => fixed(2), # Senegal
174
- '222' => fixed(2), # Mauritania
175
- '223' => fixed(2), # Mali
176
- '224' => fixed(2), # Guinea
177
- '225' => fixed(2), # Côte d'Ivoire
178
- '226' => fixed(2), # Burkina Faso
179
- '227' => fixed(2), # Niger
180
- '228' => fixed(2), # Togolese Republic
181
- '229' => fixed(2), # Benin
182
-
183
- '230' => fixed(2), # Mauritius
184
- '231' => fixed(2), # Liberia
185
- '232' => fixed(2), # Sierra Leone
186
- '233' => fixed(2), # Ghana
187
- '234' => fixed(2), # Nigeria
188
- '235' => fixed(2), # Chad
189
- '236' => fixed(2), # Central African Republic
190
- '237' => fixed(2), # Cameroon
191
- '238' => fixed(2), # Cape Verde
192
- '239' => fixed(2), # Sao Tome and Principe
193
-
194
- '240' => fixed(2), # Equatorial Guinea
195
- '241' => fixed(2), # Gabonese Republic
196
- '242' => fixed(2), # Congo
197
- '243' => fixed(2), # Democratic Republic of the Congo
198
- '244' => fixed(2), # Angola
199
- '245' => fixed(2), # Guinea-Bissau
200
- '246' => fixed(2), # Diego Garcia
201
- '247' => fixed(2), # Ascension
202
- '248' => fixed(2), # Seychelles
203
- '249' => fixed(2), # Sudan
204
-
205
- '250' => fixed(2), # Rwanda
206
- '251' => fixed(2), # Ethiopia
207
- '252' => fixed(2), # Somali Democratic Republic
208
- '253' => fixed(2), # Djibouti
209
- '254' => fixed(2), # Kenya
210
- '255' => fixed(2), # Tanzania
211
- '256' => fixed(2), # Uganda
212
- '257' => fixed(2), # Burundi
213
- '258' => fixed(2), # Mozambique
214
- '259' => fixed(2), # -
215
-
216
- '260' => fixed(2), # Zambia
217
- '261' => fixed(2), # Madagascar
218
- '262' => fixed(3), # Reunion / Mayotte (new)
219
- '263' => fixed(2), # Zimbabwe
220
- '264' => fixed(2), # Namibia
221
- '265' => fixed(2), # Malawi
222
- '266' => fixed(2), # Lesotho
223
- '267' => fixed(2), # Botswana
224
- '268' => fixed(2), # Swaziland
225
- '269' => fixed(2), # Comoros
226
-
227
- '280' => fixed(2), # -
228
- '281' => fixed(2), # -
229
- '282' => fixed(2), # -
230
- '283' => fixed(2), # -
231
- '284' => fixed(2), # -
232
- '285' => fixed(2), # -
233
- '286' => fixed(2), # -
234
- '287' => fixed(2), # -
235
- '288' => fixed(2), # -
236
- '289' => fixed(2), # -
237
- '290' => fixed(2), # Saint Helena
238
-
239
- '291' => fixed(2), # Eritrea
240
- '292' => fixed(2), # -
241
- '293' => fixed(2), # -
242
- '294' => fixed(2), # -
243
- '295' => fixed(2), # -
244
- '296' => fixed(2), # -
245
- '297' => fixed(2), # Aruba
246
- '298' => fixed(2), # Faroe Islands
247
- '299' => fixed(2), # Greenland
248
-
249
- '350' => fixed(2), # Gibraltar
250
- '351' => Countries::Portugal, # Portugal
251
- '352' => fixed(2), # Luxembourg
252
- '353' => fixed(2), # Ireland (0-3-4)
253
- '354' => fixed(2), # Iceland
254
- '355' => fixed(2), # Albania
255
- '356' => fixed(2), # Malta
256
- '357' => fixed(2), # Cyprus
257
- '358' => fixed(2), # Finland
258
- '359' => fixed(2), # Bulgaria
259
-
260
- '370' => fixed(2), # Lithuania
261
- '371' => fixed(2), # Latvia
262
- '372' => fixed(2), # Estonia
263
- '373' => fixed(2), # Moldova
264
- '374' => fixed(2), # Armenia
265
- '375' => fixed(2), # Belarus
266
- '376' => fixed(2), # Andorra
267
- '377' => fixed(2), # Monaco
268
- '378' => fixed(2), # San Marino
269
- '379' => fixed(2), # Vatican City State
270
-
271
- '380' => fixed(2), # Ukraine
272
- '381' => fixed(2), # Serbia and Montenegro
273
- '382' => fixed(2), # -
274
- '383' => fixed(2), # -
275
- '384' => fixed(2), # -
276
- '385' => fixed(2), # Croatia
277
- '386' => fixed(2), # Slovenia
278
- '387' => fixed(2), # Bosnia and Herzegovina
279
- '388' => fixed(2), # Group of countries, shared code
280
- '389' => fixed(2), # The Former Yugoslav Republic of Macedonia
281
-
282
- '420' => fixed(3, # Czech Republic
283
- :local_format => [3, 3]
284
- ),
285
- '421' => fixed(2), # Slovak Republic
286
- '422' => fixed(2), # Spare code
287
- '423' => fixed(0, # Liechtenstein (Principality of)
288
- :local_format => [3, 2, 2]
289
- ),
290
- '424' => fixed(2), # -
291
- '425' => fixed(2), # -
292
- '426' => fixed(2), # -
293
- '427' => fixed(2), # -
294
- '428' => fixed(2), # -
295
- '429' => fixed(2), # -
296
-
297
- '500' => fixed(2), # Falkland Islands (Malvinas)
298
- '501' => fixed(2), # Belize
299
- '502' => fixed(2), # Guatemala (Republic of)
300
- '503' => fixed(2), # El Salvador (Republic of)
301
- '504' => fixed(2), # Honduras (Republic of)
302
- '505' => fixed(2), # Nicaragua
303
- '506' => fixed(2), # Costa Rica
304
- '507' => fixed(2), # Panama (Republic of)
305
- '508' => fixed(2), # Saint Pierre and Miquelon (Collectivité territoriale de la République française)
306
- '509' => fixed(2), # Haiti (Republic of)
307
-
308
- '590' => fixed(3), # Guadeloupe (French Department of)
309
- '591' => fixed(2), # Bolivia (Republic of)
310
- '592' => fixed(2), # Guyana
311
- '593' => fixed(2), # Ecuador
312
- '594' => fixed(3), # French Guiana (French Department of)
313
- '595' => fixed(2), # Paraguay (Republic of)
314
- '596' => fixed(3), # Martinique (French Department of)
315
- '597' => fixed(2), # Suriname (Republic of)
316
- '598' => fixed(2), # Uruguay (Eastern Republic of)
317
- '599' => fixed(2), # Netherlands Antilles
318
-
319
- '670' => fixed(2), # Democratic Republic of Timor-Leste
320
- '671' => fixed(2), # Spare code
321
- '672' => fixed(2), # Australian External Territories
322
- '673' => fixed(2), # Brunei Darussalam
323
- '674' => fixed(2), # Nauru (Republic of)
324
- '675' => fixed(2), # Papua New Guinea
325
- '676' => fixed(2), # Tonga (Kingdom of)
326
- '677' => fixed(2), # Solomon Islands
327
- '678' => fixed(2), # Vanuatu (Republic of)
328
- '679' => fixed(2), # Fiji (Republic of)
329
-
330
- '680' => fixed(2), # Palau (Republic of)
331
- '681' => fixed(2), # Wallis and Futuna (Territoire français d'outre-mer)
332
- '682' => fixed(2), # Cook Islands
333
- '683' => fixed(2), # Niue
334
- '684' => fixed(2), # -
335
- '685' => fixed(2), # Samoa (Independent State of)
336
- '686' => fixed(2), # Kiribati (Republic of)
337
- '687' => fixed(2), # New Caledonia (Territoire français d'outre-mer)
338
- '688' => fixed(2), # Tuvalu
339
- '689' => fixed(2), # French Polynesia (Territoire français d'outre-mer)
340
-
341
- '690' => fixed(2), # Tokelau
342
- '691' => fixed(2), # Micronesia (Federated States of)
343
- '692' => fixed(2), # Marshall Islands (Republic of the)
344
- '693' => fixed(2), # -
345
- '694' => fixed(2), # -
346
- '695' => fixed(2), # -
347
- '696' => fixed(2), # -
348
- '697' => fixed(2), # -
349
- '698' => fixed(2), # -
350
- '699' => fixed(2), # -
351
-
352
- '800' => fixed(2), # International Freephone Service
353
- '801' => fixed(2), # -
354
- '802' => fixed(2), # -
355
- '803' => fixed(2), # -
356
- '804' => fixed(2), # -
357
- '805' => fixed(2), # -
358
- '806' => fixed(2), # -
359
- '807' => fixed(2), # -
360
- '808' => fixed(2), # International Shared Cost Service (ISCS)
361
- '809' => fixed(2), # -
362
-
363
- '830' => fixed(2), # -
364
- '831' => fixed(2), # -
365
- '832' => fixed(2), # -
366
- '833' => fixed(2), # -
367
- '834' => fixed(2), # -
368
- '835' => fixed(2), # -
369
- '836' => fixed(2), # -
370
- '837' => fixed(2), # -
371
- '838' => fixed(2), # -
372
- '839' => fixed(2), # -
373
-
374
- '850' => fixed(2), # Democratic People's Republic of Korea
375
- '851' => fixed(2), # Spare code
376
- '852' => fixed(2), # Hong Kong, China
377
- '853' => fixed(2), # Macao, China
378
- '854' => fixed(2), # Spare code
379
- '855' => fixed(2), # Cambodia (Kingdom of)
380
- '856' => fixed(2), # Lao People's Democratic Republic
381
- '857' => fixed(2), # Spare code
382
- '858' => fixed(2), # Spare code
383
- '859' => fixed(2), # Spare code
384
-
385
- '870' => fixed(2), # Inmarsat SNAC
386
- '871' => fixed(2), # Inmarsat (Atlantic Ocean-East)
387
- '872' => fixed(2), # Inmarsat (Pacific Ocean)
388
- '873' => fixed(2), # Inmarsat (Indian Ocean)
389
- '874' => fixed(2), # Inmarsat (Atlantic Ocean-West)
390
- '875' => fixed(2), # Reserved - Maritime Mobile Service Applications
391
- '876' => fixed(2), # Reserved - Maritime Mobile Service Applications
392
- '877' => fixed(2), # Reserved - Maritime Mobile Service Applications
393
- '878' => fixed(2), # Universal Personal Telecommunication Service (UPT)
394
- '879' => fixed(2), # Reserved for national non-commercial purposes
395
-
396
- '880' => fixed(2), # Bangladesh (People's Republic of)
397
- '881' => fixed(2), # International Mobile, shared code
398
- '882' => fixed(2), # International Networks, shared code
399
- '883' => fixed(2), # -
400
- '884' => fixed(2), # -
401
- '885' => fixed(2), # -
402
- '886' => fixed(2), # Reserved
403
- '887' => fixed(2), # -
404
- '888' => fixed(2), # Reserved for future global service
405
- '889' => fixed(2), # -
406
-
407
- '890' => fixed(2), # -
408
- '891' => fixed(2), # -
409
- '892' => fixed(2), # -
410
- '893' => fixed(2), # -
411
- '894' => fixed(2), # -
412
- '895' => fixed(2), # -
413
- '896' => fixed(2), # -
414
- '897' => fixed(2), # -
415
- '898' => fixed(2), # -
416
- '899' => fixed(2), # -
417
-
418
- '960' => fixed(2), # Maldives (Republic of)
419
- '961' => fixed(2), # Lebanon
420
- '962' => fixed(2), # Jordan (Hashemite Kingdom of)
421
- '963' => fixed(2), # Syrian Arab Republic
422
- '964' => fixed(2), # Iraq (Republic of)
423
- '965' => fixed(2), # Kuwait (State of)
424
- '966' => fixed(2), # Saudi Arabia (Kingdom of)
425
- '967' => fixed(2), # Yemen (Republic of)
426
- '968' => fixed(2), # Oman (Sultanate of)
427
- '969' => fixed(2), # Reserved - reservation currently under investigation
428
-
429
- '970' => fixed(2), # Reserved
430
- '971' => fixed(2), # United Arab Emirates
431
- '972' => fixed(2), # Israel (State of)
432
- '973' => fixed(2), # Bahrain (Kingdom of)
433
- '974' => fixed(2), # Qatar (State of)
434
- '975' => fixed(2), # Bhutan (Kingdom of)
435
- '976' => fixed(2), # Mongolia
436
- '977' => fixed(2), # Nepal
437
- '978' => fixed(2), # -
438
- '979' => fixed(2), # International Premium Rate Service (IPRS)
439
-
440
- '990' => fixed(2), # Spare code
441
- '991' => fixed(2), # Trial of a proposed new international telecommunication public correspondence service, shared code
442
- '992' => fixed(2), # Tajikistan (Republic of)
443
- '993' => fixed(2), # Turkmenistan
444
- '994' => fixed(2), # Azerbaijani Republic
445
- '995' => fixed(2), # Georgia
446
- '996' => fixed(2), # Kyrgyz Republic
447
- '997' => fixed(2), # Spare code
448
- '998' => fixed(2), # Uzbekistan (Republic of)
449
- '999' => fixed(2), # Reserved for possible future use within the Telecommunications for Disaster Relief (TDR) concept
450
- }
451
- }
452
- end
453
-
454
- end
455
- end