phony 2.2.13 → 2.2.14

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
- M2I1OTQyNDFlNDQxNzc1YWQ2OTJlNzk0MzE5ZGQxZDhiOGUwOGM1Yw==
4
+ NWUyMTkyYzI5ZGQyMGI3YjczZWQzNDJjY2U1NzZjYWQ2ZWJlNGFkYw==
5
5
  data.tar.gz: !binary |-
6
- ZjNhNmVlMmQxYWMwNGNmYjg0MTI5MjMxOGViZTM4MjAzMTMzY2RiNQ==
6
+ OGU1NjMxZDk2OTQzYTM4OWUyNTNmNTUwYmI0NjliMTdhYWZkZDJkYw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NWY1ODk4ZjRlNjI2OGZmNzFmN2U3ODAzNDA5MmE1MThlODc0ZDI0NTdhNTI0
10
- MTg2NDIxYmVkODg3MmEzNjJlYmU2MjI4Nzc5ODE0YzE5ZTI2N2E5Mjc3MGMy
11
- OTBhMjRmMThhMDI3NTliMjM2YWM0YmYzZjczOGY4MzFlOGMyZmE=
9
+ OThkNWQ5OWQ1NzAxYjNmZDdlYzUyZTlkZjExN2Q0MDg3N2JhNmRlNzdmY2Y4
10
+ NjEwYjViMjljMmQ0N2RlZTg5MzM0NWYxMzlmOWNiOTEzYWM2MTM1ODc0MTQw
11
+ NDg2ZjFjYzA0OTJjZmY0MzM5MmY0MzMzNTg0ZmZhN2NhMjI5YzA=
12
12
  data.tar.gz: !binary |-
13
- NDEyMTBjNTY4MzEwZDI4ZWU3MTUzYTg1YmEzZmFhMmIyNGQzM2Y3YzMzMWY0
14
- NmQ0YjNjNWYwYjU5N2YzMjA1NTc5MGVmOGVkM2M0ZWU0M2QwMmVjN2JmNmY0
15
- NDE3ZGUwNzEzM2I0YjI3YWY2NDhmZDc2NWY0NWQ3NWY2OTU2ZjY=
13
+ NjRjNGQxOWIwYzcyNjk0ZTcwMWFjN2YxZmIyZjRjYjUyMGUyZjZlMjgxNTUw
14
+ MTMzYTNhMjM5Y2YyYTI1MmNlZTdlMTY5ZTg4NDE4NDM2OWI4MjIyODZjM2Mz
15
+ YTk5NGFiMmQyMWM4MTY3ZDBhNjc1OGUyY2YzYzRlNjg3ZGE4NTQ=
data/README.textile CHANGED
@@ -1,6 +1,6 @@
1
1
  "!{float:right}https://secure.travis-ci.org/floere/phony.png!":http://travis-ci.org/floere/phony
2
2
  "!https://codeclimate.com/github/floere/phony.png!":https://codeclimate.com/github/floere/phony
3
- !http://inch-pages.github.io/github/floere/phony.png!:http://inch-pages.github.io/github/floere/phony
3
+ !http://inch-ci.org/github/floere/phony.png!:http://inch-ci.org/github/floere/phony
4
4
 
5
5
  h1. Phony
6
6
 
data/lib/phony.rb CHANGED
@@ -25,6 +25,7 @@ require File.expand_path '../phony/countries/bangladesh', __FILE__
25
25
  require File.expand_path '../phony/countries/belarus', __FILE__
26
26
  require File.expand_path '../phony/countries/brazil', __FILE__
27
27
  require File.expand_path '../phony/countries/cambodia', __FILE__
28
+ require File.expand_path '../phony/countries/croatia', __FILE__
28
29
  require File.expand_path '../phony/countries/china', __FILE__
29
30
  require File.expand_path '../phony/countries/georgia', __FILE__
30
31
  require File.expand_path '../phony/countries/germany', __FILE__
@@ -624,10 +624,7 @@ Phony.define do
624
624
  country '383', todo # -
625
625
  country '384', todo # -
626
626
 
627
- # Croatia.
628
- #
629
- country = country '385', one_of('1') >> split(3, 5) | # Zagreb
630
- fixed(2) >> split(3, 5) # 2-digit NDCs
627
+ # country '385' # Croatia, see special file.
631
628
 
632
629
  country '386', fixed(2) >> split(3, 2, 2) # Slovenia
633
630
  country '387', fixed(2) >> split(3,2,2) # Bosnia and Herzegovina
@@ -0,0 +1,25 @@
1
+ # Croatia
2
+ #
3
+ # http://en.wikipedia.org/wiki/Telephone_numbers_in_Croatia
4
+ # http://dialcode.org/Europe/Croatia/
5
+ # http://www.howtocallabroad.com/croatia/
6
+ #
7
+ # Landline numbers are composed by a 2 digits area code + 6 fixed digits
8
+ # Mobile numbers are composed by a 2 digits prefix + 7 fixed digits
9
+ #
10
+
11
+ mobile = %w(
12
+ 91
13
+ 92
14
+ 95
15
+ 97
16
+ 977
17
+ 98
18
+ 99
19
+ )
20
+
21
+ Phony.define do
22
+ country '385', one_of(mobile) >> split(3, 4) |
23
+ one_of('1') >> split(4, 3) | # Zagreb
24
+ fixed(2) >> split(3, 3) # 2-digit NDCs
25
+ end
@@ -259,13 +259,27 @@ describe 'plausibility' do
259
259
  Phony.plausible?("+85523123456").should be_false # Fixed line (NDC + invalid A)
260
260
  end
261
261
 
262
- it "is correct for Danish numbers" do
262
+ it 'is correct for Croatia' do
263
+ # Landline
264
+ expect(Phony.plausible?('+385 21 695900')).to be_true
265
+ expect(Phony.plausible?('+385 1 4566 666')).to be_true
266
+
267
+ expect(Phony.plausible?('+385 21 12345')).to be_false, "too short"
268
+ expect(Phony.plausible?('+385 21 1234567')).to be_false, "too long"
269
+
270
+ # Mobile
271
+ expect(Phony.plausible?('+385 91 896 7509')).to be_true
272
+
273
+ expect(Phony.plausible?('+385 91 123456')).to be_false, "too short"
274
+ end
275
+
276
+ it "is correct for Denmark" do
263
277
  Phony.plausible?('+45 44 11 12 23 34').should be_false
264
278
  Phony.plausible?('+45 44 11 12 2').should be_false
265
279
  Phony.plausible?('+45 44 55 22 33').should be_true
266
280
  end
267
281
 
268
- it 'is correct for Dutch numbers' do
282
+ it 'is correct for Netherlands' do
269
283
  Phony.plausible?('+31 6 12 34 56 78').should be_true
270
284
  Phony.plausible?('+31 6 12 34 56 7').should be_false
271
285
  Phony.plausible?('+31 20 123 5678').should be_true
@@ -278,7 +292,7 @@ describe 'plausibility' do
278
292
  Phony.plausible?('+31 900 001 00').should be_false
279
293
  end
280
294
 
281
- it 'is correct for Egyptian numbers' do
295
+ it 'is correct for Egypt' do
282
296
  Phony.plausible?('+20 800 1234567').should be_true
283
297
  Phony.plausible?('+20 800 12345678').should be_false
284
298
  Phony.plausible?('+20 2 12345678').should be_true
@@ -287,7 +301,7 @@ describe 'plausibility' do
287
301
  Phony.plausible?('+20 40 1234567').should be_false
288
302
  end
289
303
 
290
- it 'is correct for German numbers' do
304
+ it 'is correct for Germany' do
291
305
  Phony.plausible?('+49 209 169 - 0').should be_true # Gelsenkirchen
292
306
  Phony.plausible?('+49 209 169 - 3530').should be_true # Gelsenkirchen
293
307
  Phony.plausible?('+49 40 123 45678').should be_true
@@ -326,12 +340,12 @@ describe 'plausibility' do
326
340
  Phony.plausible?('+49 40 12345678901').should be_true
327
341
  end
328
342
 
329
- it 'is correct for Israelian numbers' do
343
+ it 'is correct for Israel' do
330
344
  Phony.plausible?('+972 2 123 1234').should be_true
331
345
  Phony.plausible?('+972 59 123 1234').should be_true
332
346
  end
333
347
 
334
- it 'is correct for Italian numbers' do
348
+ it 'is correct for Italy' do
335
349
  Phony.plausible?('+39 06 1234 4567').should be_true
336
350
 
337
351
  Phony.plausible?('+39 035 00000').should be_false
@@ -147,8 +147,9 @@ describe 'country descriptions' do
147
147
  it_splits '573101234567', ['57', '310', '123', '4567'] # mobile
148
148
  end
149
149
  describe 'Croatia' do
150
- it_splits '385112312345', ['385', '1', '123', '12345'] # Zagreb
151
- it_splits '385491231234', ['385', '49', '123', '1234'] # Krapina
150
+ it_splits '38521695900', %w( 385 21 695 900 ) # Landline
151
+ it_splits '38514566666', %w( 385 1 4566 666 ) # Landline (Zagreb)
152
+ it_splits '385918967509', %w( 385 91 896 7509 ) # Mobile
152
153
  end
153
154
  describe 'Cuba' do
154
155
  it_splits '5351231234', ['53', '5123', '1234'] # Mobile
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.13
4
+ version: 2.2.14
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-05-27 00:00:00.000000000 Z
11
+ date: 2014-08-04 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
@@ -25,6 +25,7 @@ files:
25
25
  - lib/phony/countries/brazil.rb
26
26
  - lib/phony/countries/cambodia.rb
27
27
  - lib/phony/countries/china.rb
28
+ - lib/phony/countries/croatia.rb
28
29
  - lib/phony/countries/georgia.rb
29
30
  - lib/phony/countries/germany.rb
30
31
  - lib/phony/countries/india.rb