phonie 3.2.2 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9daf70450b82b58df845ca521df4422b5df09ce9
4
- data.tar.gz: aed438682499790cfaa43c5f9069dc7995e1223b
3
+ metadata.gz: ed1a7332cfe5e4371c273e9872030726f30f6484
4
+ data.tar.gz: ca1d252e1648897e9fb27224e58b59612b451343
5
5
  SHA512:
6
- metadata.gz: 6e3ff1af95ff7cb8c1f83dbf1fa6a5ba928791ce18cbb2c7cc38d1de8fb5c099d400ea7c29fdccf660ae54d836b55e1ff42de4d766595c4a406f1125e0cb8359
7
- data.tar.gz: b076886d96aa2ed0f439ca43c4d215d7c6de26aba7ffae04408cb3a414e3646907d0c1c00c4e4a1e24fbee5f0a3f686bfc03c0d91cc4e065d2e87c07d5fec784
6
+ metadata.gz: c0c296ec4b38c9e28d92e876ab90073854290668eb4f1fa39b4e5d1c080a69f855e4c660c48102a6f37a8846d30d8199027e12055fbd53113d5256bfd9bda3bf
7
+ data.tar.gz: d5c5697192bdddf7c4e188c2f830ed641710b7040c17562553688f480fbddc40159229fe86dcf5e47e4b9fd58e8684eada2044a0bf978271a486fe3bf73333e9
@@ -1,3 +1,18 @@
1
+ 3.3.1
2
+ =====
3
+
4
+ * Adds support for multiple countries (Thanks @dramalho):
5
+ * Jordan
6
+ * Seychelles
7
+ * Panama
8
+ * Venezuela
9
+ * Guadeloupe
10
+ * Mali
11
+ * Tanzania
12
+ * Jamaica
13
+
14
+ * Adds new formatter option for extensions with prefix: %X (Thanks @feldpost)
15
+
1
16
  3.2.2
2
17
  =====
3
18
 
@@ -59,6 +59,7 @@ When given a string, it interpolates the string with the following fields:
59
59
  * %f - first @@n1_length characters of number (configured through Phonie.n1_length), default is 3 (512)
60
60
  * %l - last characters of number (5486)
61
61
  * %x - the extension number
62
+ * %X - the extension number with prefix
62
63
 
63
64
  pn = Phonie::Phone.parse('+385915125486')
64
65
  pn.to_s # => "+385915125486"
@@ -140,6 +141,7 @@ Currently tested on:
140
141
  [GE] Georgia
141
142
  [GF] French Guiana
142
143
  [GH] Ghana
144
+ [GP] Guadeloupe
143
145
  [GR] Greece
144
146
  [GT] Guatemala
145
147
  [GU] Guam
@@ -154,6 +156,8 @@ Currently tested on:
154
156
  [IQ] Iraq
155
157
  [IR] Iran
156
158
  [IT] Italy
159
+ [JM] Jamaica
160
+ [JO] Jordan
157
161
  [JP] Japan
158
162
  [KE] Kenya
159
163
  [KR] South Korea
@@ -164,6 +168,7 @@ Currently tested on:
164
168
  [LV] Latvia
165
169
  [MA] Morocco
166
170
  [ME] Montenegro
171
+ [ML] Mali
167
172
  [MT] Malta
168
173
  [MX] Mexico
169
174
  [MY] Malaysia
@@ -173,6 +178,7 @@ Currently tested on:
173
178
  [NO] Norway
174
179
  [NP] Nepal
175
180
  [NZ] New Zealand
181
+ [PA] Panama
176
182
  [PH] Philippines
177
183
  [PK] Pakistan
178
184
  [PT] Portugal
@@ -180,6 +186,7 @@ Currently tested on:
180
186
  [RS] Serbia
181
187
  [RU] Russian Federation
182
188
  [SA] Saudi Arabia
189
+ [SC] Seychelles
183
190
  [SE] Sweden
184
191
  [SG] Singapore
185
192
  [SI] Slovenia
@@ -189,10 +196,12 @@ Currently tested on:
189
196
  [TO] Tonga
190
197
  [TT] Trinidad and Tobago
191
198
  [TW] Taiwan
199
+ [TZ] Tanzania
192
200
  [UA] Ukraine
193
201
  [UG] Uganda
194
202
  [US] United States
195
203
  [UY] Uruguay
204
+ [VE] Venezuela
196
205
  [VN] Vietnam
197
206
  [ZA] South Africa
198
207
  [ZW] Zimbabwe
@@ -48,8 +48,23 @@
48
48
  :national_dialing_prefix: None
49
49
  :char_2_code: None
50
50
  :iso_3166_code: GP
51
+ :area_code: '590|690'
52
+ :mobile_format: '690\d{6}'
53
+ :number_format: '\d{9}'
54
+ :local_number_format: '\d{6}'
51
55
  :name: Guadeloupe
52
56
  :international_dialing_prefix: '00'
57
+ -
58
+ :country_code: '1'
59
+ :national_dialing_prefix: '0'
60
+ :char_2_code: '0'
61
+ :iso_3166_code: JM
62
+ :name: Jamaica
63
+ :area_code: '876'
64
+ :mobile_format: '876(2|3|4|77|781|782|783|784|787|788|789|790|791|792|793|796|797|798|799|8|909|919|990|995|997|999)\d{4,6}'
65
+ :number_format: '\d{7,10}'
66
+ :local_number_format: '\d{4,7}'
67
+ :international_dialing_prefix: '011'
53
68
  -
54
69
  :country_code: '81'
55
70
  :national_dialing_prefix: '0'
@@ -77,6 +92,10 @@
77
92
  :national_dialing_prefix: '0'
78
93
  :char_2_code: '0'
79
94
  :iso_3166_code: ML
95
+ :area_code: '2\d{3}|442\d{1}|6\d{2}|7\d{2}'
96
+ :mobile_format: '(6|7)\d{7}'
97
+ :number_format: '\d{8}'
98
+ :local_number_format: '\d{4,5}'
80
99
  :name: Mali
81
100
  :international_dialing_prefix: '00'
82
101
  -
@@ -121,6 +140,10 @@
121
140
  :char_2_code: None
122
141
  :iso_3166_code: PA
123
142
  :name: Panama
143
+ :area_code: '2|4|6|7|9'
144
+ :mobile_format: '6\d{7}'
145
+ :number_format: '\d{7,8}'
146
+ :local_number_format: '\d{6,7}'
124
147
  :international_dialing_prefix: '00'
125
148
  -
126
149
  :country_code: '591'
@@ -290,6 +313,10 @@
290
313
  :national_dialing_prefix: '0'
291
314
  :char_2_code: '0'
292
315
  :iso_3166_code: TZ
316
+ :area_code: '2\d{1}|41|6\d{1}|7\d{1}'
317
+ :mobile_format: '(6|7)\d{8}'
318
+ :number_format: '\d{9}'
319
+ :local_number_format: '\d{7}'
293
320
  :name: Tanzania, United Republic of
294
321
  :international_dialing_prefix: '00'
295
322
  -
@@ -344,6 +371,10 @@
344
371
  :national_dialing_prefix: '0'
345
372
  :char_2_code: '0'
346
373
  :iso_3166_code: VE
374
+ :area_code: '(2|4)\d{2}'
375
+ :mobile_format: '4\d{9}'
376
+ :number_format: '\d{10}'
377
+ :local_number_format: '\d{7}'
347
378
  :name: Venezuela, Bolivarian Republic of
348
379
  :international_dialing_prefix: '00'
349
380
  -
@@ -404,6 +435,10 @@
404
435
  :national_dialing_prefix: '0'
405
436
  :char_2_code: '0'
406
437
  :iso_3166_code: JO
438
+ :area_code: '2|3|5|6|7\d{2}|8|9'
439
+ :mobile_format: '7\d{8}'
440
+ :number_format: '\d{8,9}'
441
+ :local_number_format: '\d{6,8}'
407
442
  :name: Jordan
408
443
  :international_dialing_prefix: '00'
409
444
  -
@@ -1715,6 +1750,10 @@
1715
1750
  :char_2_code: None
1716
1751
  :iso_3166_code: SC
1717
1752
  :name: Seychelles
1753
+ :area_code: '2|3|4|5|6|7'
1754
+ :mobile_format: '2\d{6,8}'
1755
+ :number_format: '\d{7,8}'
1756
+ :local_number_format: '\d{5,7}'
1718
1757
  :international_dialing_prefix: '00'
1719
1758
  -
1720
1759
  :country_code: '20'
@@ -43,7 +43,8 @@ module Phonie
43
43
  gsub("%n", pn.number.to_s).
44
44
  gsub("%f", pn.number1.to_s).
45
45
  gsub("%l", pn.number2.to_s).
46
- gsub("%x", pn.extension.to_s)
46
+ gsub("%x", pn.extension.to_s).
47
+ gsub("%X", pn.extension_with_prefix.to_s)
47
48
  end
48
49
 
49
50
  private
@@ -38,6 +38,8 @@ module Phonie
38
38
  def self.parse(string, options = {})
39
39
  return if string.nil?
40
40
 
41
+ string = string.to_s
42
+
41
43
  options[:country_code] ||= Phonie.configuration.default_country_code
42
44
  options[:area_code] ||= Phonie.configuration.default_area_code
43
45
 
@@ -84,6 +86,11 @@ module Phonie
84
86
  number[-n2_length, n2_length]
85
87
  end
86
88
 
89
+ def extension_with_prefix
90
+ return unless extension
91
+ [' x', extension ].join
92
+ end
93
+
87
94
  def format(fmt)
88
95
  Formatter.new(format: fmt, phone_number: self).to_s
89
96
  end
@@ -1,3 +1,3 @@
1
1
  module Phonie
2
- VERSION = '3.2.2'
2
+ VERSION = '3.3.1'
3
3
  end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Guadeloupe
4
+ class GPTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+590590878888', '590', '590', '878888', 'Guadeloupe', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+590690638764', '590', '690', '638764', 'Guadeloupe', true)
11
+ end
12
+
13
+ end
@@ -0,0 +1,12 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Norway
4
+ class JMTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+18769696268', '1', '876', '9696268', 'Jamaica', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+18764884110', '1', '876', '4884110', 'Jamaica', true)
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Jordan
4
+ class JOTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+96265522796', '962', '6', '5522796', 'Jordan', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+962796899550', '962', '796', '899550', 'Jordan', true)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Mali
4
+ class MLTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+22320203134', '223', '2020', '3134', 'Mali', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+22366089000', '223', '660', '89000', 'Mali', true)
11
+ parse_test('+22378458504', '223', '784', '58504', 'Mali', true)
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Panama
4
+ class PATest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+50741869702', '507', '4', '1869702', 'Panama', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+50767677540', '507', '6', '7677540', 'Panama', true)
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Seychelles
4
+ class SCTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+2487985442', '248', '7', '985442', 'Seychelles', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+24825255813', '248', '2', '5255813', 'Seychelles', true)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Mali
4
+ class TZTest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+255262390044', '255', '26', '2390044', 'Tanzania, United Republic of', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+255673596267', '255', '67', '3596267', 'Tanzania, United Republic of', true)
11
+ parse_test('+255777375744', '255', '77', '7375744', 'Tanzania, United Republic of', true)
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ ## Venezuela
4
+ class VETest < Phonie::TestCase
5
+ def test_local
6
+ parse_test('+582742662406', '58', '274', '2662406', 'Venezuela, Bolivarian Republic of', false)
7
+ end
8
+
9
+ def test_mobile
10
+ parse_test('+584141809033', '58', '414', '1809033', 'Venezuela, Bolivarian Republic of', true)
11
+ end
12
+
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phonie
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomislav Car
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-01-12 00:00:00.000000000 Z
15
+ date: 2016-05-17 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activemodel
@@ -146,6 +146,7 @@ files:
146
146
  - test/countries/ge_test.rb
147
147
  - test/countries/gf_test.rb
148
148
  - test/countries/gh_test.rb
149
+ - test/countries/gp_test.rb
149
150
  - test/countries/gr_test.rb
150
151
  - test/countries/gt_test.rb
151
152
  - test/countries/gu_test.rb
@@ -162,6 +163,8 @@ files:
162
163
  - test/countries/ir_test.rb
163
164
  - test/countries/is_test.rb
164
165
  - test/countries/it_test.rb
166
+ - test/countries/jm_test.rb
167
+ - test/countries/jo_test.rb
165
168
  - test/countries/jp_test.rb
166
169
  - test/countries/ke_test.rb
167
170
  - test/countries/kh_text.rb
@@ -174,6 +177,7 @@ files:
174
177
  - test/countries/lv_test.rb
175
178
  - test/countries/ma_test.rb
176
179
  - test/countries/me_test.rb
180
+ - test/countries/ml_test.rb
177
181
  - test/countries/mt_test.rb
178
182
  - test/countries/mu_test.rb
179
183
  - test/countries/mx_test.rb
@@ -184,6 +188,7 @@ files:
184
188
  - test/countries/no_test.rb
185
189
  - test/countries/np_test.rb
186
190
  - test/countries/nz_test.rb
191
+ - test/countries/pa_test.rb
187
192
  - test/countries/ph_test.rb
188
193
  - test/countries/pk_test.rb
189
194
  - test/countries/pl_test.rb
@@ -194,6 +199,7 @@ files:
194
199
  - test/countries/rs_test.rb
195
200
  - test/countries/ru_test.rb
196
201
  - test/countries/sa_test.rb
202
+ - test/countries/sc_test.rb
197
203
  - test/countries/se_test.rb
198
204
  - test/countries/sg_test.rb
199
205
  - test/countries/si_test.rb
@@ -206,10 +212,12 @@ files:
206
212
  - test/countries/tr_test.rb
207
213
  - test/countries/tt_test.rb
208
214
  - test/countries/tw_test.rb
215
+ - test/countries/tz_test.rb
209
216
  - test/countries/ua_test.rb
210
217
  - test/countries/ug_test.rb
211
218
  - test/countries/us_test.rb
212
219
  - test/countries/uy_test.rb
220
+ - test/countries/ve_test.rb
213
221
  - test/countries/vn_test.rb
214
222
  - test/countries/za_test.rb
215
223
  - test/countries/zw_test.rb
@@ -288,6 +296,7 @@ test_files:
288
296
  - test/countries/ge_test.rb
289
297
  - test/countries/gf_test.rb
290
298
  - test/countries/gh_test.rb
299
+ - test/countries/gp_test.rb
291
300
  - test/countries/gr_test.rb
292
301
  - test/countries/gt_test.rb
293
302
  - test/countries/gu_test.rb
@@ -304,6 +313,8 @@ test_files:
304
313
  - test/countries/ir_test.rb
305
314
  - test/countries/is_test.rb
306
315
  - test/countries/it_test.rb
316
+ - test/countries/jm_test.rb
317
+ - test/countries/jo_test.rb
307
318
  - test/countries/jp_test.rb
308
319
  - test/countries/ke_test.rb
309
320
  - test/countries/kh_text.rb
@@ -316,6 +327,7 @@ test_files:
316
327
  - test/countries/lv_test.rb
317
328
  - test/countries/ma_test.rb
318
329
  - test/countries/me_test.rb
330
+ - test/countries/ml_test.rb
319
331
  - test/countries/mt_test.rb
320
332
  - test/countries/mu_test.rb
321
333
  - test/countries/mx_test.rb
@@ -326,6 +338,7 @@ test_files:
326
338
  - test/countries/no_test.rb
327
339
  - test/countries/np_test.rb
328
340
  - test/countries/nz_test.rb
341
+ - test/countries/pa_test.rb
329
342
  - test/countries/ph_test.rb
330
343
  - test/countries/pk_test.rb
331
344
  - test/countries/pl_test.rb
@@ -336,6 +349,7 @@ test_files:
336
349
  - test/countries/rs_test.rb
337
350
  - test/countries/ru_test.rb
338
351
  - test/countries/sa_test.rb
352
+ - test/countries/sc_test.rb
339
353
  - test/countries/se_test.rb
340
354
  - test/countries/sg_test.rb
341
355
  - test/countries/si_test.rb
@@ -348,10 +362,12 @@ test_files:
348
362
  - test/countries/tr_test.rb
349
363
  - test/countries/tt_test.rb
350
364
  - test/countries/tw_test.rb
365
+ - test/countries/tz_test.rb
351
366
  - test/countries/ua_test.rb
352
367
  - test/countries/ug_test.rb
353
368
  - test/countries/us_test.rb
354
369
  - test/countries/uy_test.rb
370
+ - test/countries/ve_test.rb
355
371
  - test/countries/vn_test.rb
356
372
  - test/countries/za_test.rb
357
373
  - test/countries/zw_test.rb