phony 2.0.0.beta13 → 2.0.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZGM3YzY5ZGU1OWYxZjQ1ZTRmNWEzMTRmNTFkZDM2YzliNTQzMjU3Zg==
4
+ NzVjNGJlYTgwN2Q5NzFmODAzYzY5YjUzZmVkY2FkNjc2MjRkOTQwMg==
5
5
  data.tar.gz: !binary |-
6
- OGUwYmEzYzdlOWM1NmFkYjczNTJkNWQxN2JhZThkZGE3YzNiYjI0Yw==
6
+ MjdjMWU2ZjBiODg2YjE2MThiNGQyZDlkODE2OGM1MGJkNjAyNTE0NA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NWE5ZDEwNmNiNjI0YzIzZjM3NzYyNDY4YzNhMDc5NDg5YzhjYmI1ZGJlM2Y4
10
- NWVkYzg4YTZlY2ZjOWJkMzkzYzMyMzE1NmM2Njk0M2RmNmEwMjFmNDJiMzFh
11
- NTRjNmFkYjZmZjRhNzc2ZGQzMTYwYjA2ZmI0NDg0MjI3ZGQ4MDg=
9
+ ZTM3NDM2MGM3MjVhZmVjYjBjZTQ0YTEwNmEzYWUwMDk4NDRhNDZlNDU0NjU0
10
+ ODRjZTQ4ZTQ0YTA1NjAxMzlkODQyOTJiMzFkYTZmYWYzYmNiNGNkZWMxZmIx
11
+ MjQyYzUwNWE2MTMxNDJkZDU3MTY5MTY1MmRjZTg4ZTExOGQ1MTA=
12
12
  data.tar.gz: !binary |-
13
- OGIwZmQ2YWJlMTY0NjNmMTMyNWUzYTM0OGZlMmUyOWVlMjg3MGVhMmRlYjUy
14
- Y2Q1YWM2OTI4NDQ2MTNlMzg4NDExNDgzMzJkNzkzYzNmMDUwZjJhNDdlY2Rm
15
- YTdmODY3MmM0ZDQxZjA3NjZkN2Q0ODMxYzNmNTE2NzBiNGU5NTQ=
13
+ MjY4Zjk0MjdjNWQ1NzZmNjEyMjQyMzhjY2M5YTNjZTA5MDlmMDY2NjI4MmRk
14
+ ZTY2ZjdhY2U2ZDNhZjZlMTJlMDY4NGM2OGRlMTI1ZTIzYzI1YjU5ZjdlNDVm
15
+ YmE0Njk0NGI4NDRhYTAzYmQ1ZTI0MDYzMThmYzQ1MzkyMGU1MTE=
@@ -5,6 +5,7 @@
5
5
  # Note: São Paulo recently added an extra 9 digit to all mobile phones in the 11 area code
6
6
  #
7
7
  ndcs = [
8
+
8
9
  '11', #Sao Paulo
9
10
  '12', #Sao Paulo
10
11
  '13', #Sao Paulo
@@ -94,8 +95,14 @@ ndcs = [
94
95
  ]
95
96
  service = %w{ 100, 128, 190 191 192 193 194 197 198 199 } # State specific numbers were not added. See http://www.brasil.gov.br/navegue_por/aplicativos/agenda
96
97
 
98
+ special_numbers_3_4 = %w{ 0800 }
99
+ special_numbers_4 = %w{ 3003 4004 4020 }
100
+
97
101
  Phony.define do
98
- country '55', one_of(service) >> split(3,3) |
99
- one_of(ndcs) >> split(4,4) |
100
- fixed(3) >> split(4,4)
102
+ country '55', match(/^(11|12|13|14|15|16|17|18|19|21|22|24|27|28)9\d+$/) >> split(5,4) |
103
+ one_of(special_numbers_3_4) >> split(3,4) |
104
+ one_of(special_numbers_4) >> split(4) |
105
+ one_of(service) >> split(3,3) |
106
+ one_of(ndcs) >> split(4,4) |
107
+ fixed(3) >> split(4,4)
101
108
  end
@@ -7,11 +7,11 @@ describe 'country descriptions' do
7
7
  def self.it_splits number, expected
8
8
  it { Phony.split(number).should == expected }
9
9
  end
10
-
10
+
11
11
  describe 'regression' do
12
12
  it_splits '33630588659', ["33", "6", "30", "58", "86", "59"]
13
13
  end
14
-
14
+
15
15
  describe 'splitting' do
16
16
  describe 'Ascension Island' do
17
17
  it_splits '2473551', ['247', false, '3551']
@@ -102,7 +102,22 @@ describe 'country descriptions' do
102
102
  end
103
103
  describe 'Brazil' do
104
104
  it_splits '551112341234', ['55', '11', '1234', '1234']
105
- it_splits '5511981231234', ['55', '11', '9812', '31234'] # São Paulo's 9 digits mobile
105
+ it_splits '5511981231234', ['55', '11', '98123', '1234'] # São Paulo's 9 digits mobile
106
+ it_splits '552181231234', ['55', '21', '8123', '1234']
107
+ it_splits '5521981231234', ['55', '21', '98123', '1234'] # Rio de Janeiro's 9 digits mobile
108
+
109
+ context "special states with 9 in mobile" do
110
+ %w{ 11 12 13 14 15 16 17 18 19 21 22 24 27 28}.each do |state_code|
111
+ it_splits "55#{state_code}993051123", ['55', state_code, '99305', '1123']
112
+ end
113
+ end
114
+
115
+ context "special numbers" do
116
+ it_splits '5508002221234', ['55', '0800', '222', '1234']
117
+ it_splits '5530032221', ['55', '3003', '2221']
118
+ it_splits '5540209999', ['55', '4020', '9999']
119
+ it_splits '5540048999', ['55', '4004', '8999']
120
+ end
106
121
  end
107
122
  describe 'Cambodia' do
108
123
  it_splits '85512236142', ["855", "12", "236", "142"] # mobile (Mobitel)
@@ -273,7 +288,7 @@ describe 'country descriptions' do
273
288
  it_splits '912212345678', ['91', '22', '123', '45', '678'] # New Delhi
274
289
  it_splits '911411234567', ['91', '141', '123', '45', '67'] # Jaipur
275
290
  it_splits '913525123456', ['91', '3525', '123', '456'] # DALKHOLA
276
- it_splits '914433993939', ['91', '44', '339', '93', '939'] #
291
+ it_splits '914433993939', ['91', '44', '339', '93', '939'] #
277
292
  end
278
293
 
279
294
  describe 'Iran' do
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.0.0.beta13
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Hanke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-26 00:00:00.000000000 Z
11
+ date: 2013-12-11 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
@@ -100,9 +100,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ! '>'
103
+ - - ! '>='
104
104
  - !ruby/object:Gem::Version
105
- version: 1.3.1
105
+ version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
108
  rubygems_version: 2.0.3