validates_zipcode 0.0.4 → 0.0.5

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce3428384df1296dc59b3a6cd5d4851627145efc
4
- data.tar.gz: 0ee7e5839e662b71527b2189e6b081b04489dd29
3
+ metadata.gz: 952d9f9b375d3c93c0c71af3dfd9f6dcd6712693
4
+ data.tar.gz: 4be0f548de981b71b4e87ee2ec8bb377fb906431
5
5
  SHA512:
6
- metadata.gz: 48b420457da2ba3c35f5228cb56da96850f8e0f844c7682936e8a8690e280d11593295fd409d0cd68b90e34ed4cb4282a73702cce3411b57e291c546d886207c
7
- data.tar.gz: 0d1a4be22635a40aaddbd5549a7d7f1923d8a6dfe5b566eedc70591ab880d7b8a4c3206d1d2d2a0062862b507fbfcb2f9b94de211a13bc3a812f33495c5b94ce
6
+ metadata.gz: ecdbe24c23bf5296fb45daf4fa6d35b9c60f9fa83bf4e9da3fc23b767ee329beefa14e66940e8ad99cd8ee0e889852b02946eda0c300ba44fd2fc7b786effe76
7
+ data.tar.gz: 6e9a17ced86e144d499d50f650422035c1ab439c6c70831561da45c739da061feabab53dc0f0c7bbb208fede7f20e5c5c5b466d5a74ac6ca5db86f8865e24662
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # ValidatesZipcode [![Build Status](https://secure.travis-ci.org/dgilperez/validates_zipcode.png)](https://travis-ci.org/dgilperez/validates_zipcode) [![Code Climate](https://codeclimate.com/github/dgilperez/validates_zipcode/badges/gpa.svg)](https://codeclimate.com/github/dgilperez/validates_zipcode) [![Gem Version](https://badge.fury.io/rb/validates_zipcode.svg)](http://badge.fury.io/rb/validates_zipcode)
1
+ # ValidatesZipcode [![Build Status](https://secure.travis-ci.org/dgilperez/validates_zipcode.png)](https://travis-ci.org/dgilperez/validates_zipcode) [![Code Climate](https://codeclimate.com/github/dgilperez/validates_zipcode/badges/gpa.svg)](https://codeclimate.com/github/dgilperez/validates_zipcode) [![Gem Version](https://badge.fury.io/rb/validates_zipcode.svg)](http://badge.fury.io/rb/validates_zipcode) [![security](https://hakiri.io/github/dgilperez/validates_zipcode/master.svg)](https://hakiri.io/github/dgilperez/validates_zipcode/master)
2
2
 
3
3
  Add zipcode validation support to Rails (ActiveModel), considering different zipcode country formats.
4
4
 
5
- ``ValidatesZipcode`` currently support **159 countries**. Regex data taken from several sources, mainly from the [CLDR](common/supplemental/postalCodeData.xml) database. Any other country's zipcode will validate without errors.
5
+ ``ValidatesZipcode`` currently support **259 countries**. Regex data taken from several sources, being the main source the [CLDR](common/supplemental/postalCodeData.xml) database (around 159). Any other country's zipcode will validate without errors.
6
6
 
7
7
  ``ValidatesZipcode`` works for Rails 3 & 4 and Ruby >= 1.9.3.
8
8
 
data/Rakefile CHANGED
@@ -3,3 +3,8 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
  task default: :spec
6
+
7
+ desc "Open an irb session preloaded with this library"
8
+ task :console do
9
+ sh "irb -Ilib -rvalidates_zipcode"
10
+ end
@@ -162,7 +162,107 @@ module ValidatesZipcode
162
162
  TC: /\ATKCA 1ZZ\z/,
163
163
  WF: /\A986\d{2}\z/,
164
164
  XK: /\A\d{5}\z/,
165
- YT: /\A976\d{2}\z/
165
+ YT: /\A976\d{2}\z/,
166
+ AE: /\A([a-zA-Z\d\s]){3,}\z/,
167
+ AF: /\A\d{4}\z/,
168
+ AL: /\A\d{4}\z/,
169
+ AG: /\A([a-zA-Z\d\s]){3,}\z/,
170
+ AO: /\A([a-zA-Z\d\s]){3,}\z/,
171
+ AZ: /\A([a-zA-Z\d\s]){3,}\z/,
172
+ BF: /\A([a-zA-Z\d\s]){3,}\z/,
173
+ BI: /\A([a-zA-Z\d\s]){3,}\z/,
174
+ BS: /\A([a-zA-Z\d\s]){3,}\z/,
175
+ BZ: /\A([a-zA-Z\d\s]){3,}\z/,
176
+ BR: /\A\d{4}[a-zA-Z][\- | [ ]]\d{2}[a-zA-Z]\z/,
177
+ BJ: /\A([a-zA-Z\d\s]){3,}\z/,
178
+ BT: /\A\d{5}\z/,
179
+ BQ: /\A([a-zA-Z\d\s]){3,}\z/,
180
+ BO: /\A\d{4}\z/,
181
+ BW: /\A([a-zA-Z\d\s]){3,}\z/,
182
+ CF: /\A([a-zA-Z\d\s]){3,}\z/,
183
+ CG: /\A([a-zA-Z\d\s]){3,}\z/,
184
+ CI: /\A([a-zA-Z\d\s]){3,}\z/,
185
+ CM: /\A([a-zA-Z\d]){3,7}\z/,
186
+ CO: /\A([a-zA-Z\d\s]){3,}\z/,
187
+ CR: /\A\d{5}\z/,
188
+ CU: /\A\d{5}\z/,
189
+ KM: /\A([a-zA-Z\d\s]){3,}\z/,
190
+ DJ: /\A([a-zA-Z\d\s]){3,}\z/,
191
+ DM: /\A([a-zA-Z\d\s]){3,}\z/,
192
+ EG: /\A([a-zA-Z\d\s]){3,}\z/,
193
+ GQ: /\A([a-zA-Z\d\s]){3,}\z/,
194
+ EL: /\A\d{5}\z/,
195
+ ER: /\A([a-zA-Z\d\s]){3,}\z/,
196
+ FJ: /\A([a-zA-Z\d\s]){3,}\z/,
197
+ FR: /\A\d{5}\z/,
198
+ GA: /\A\d{2}\z/,
199
+ GD: /\A([a-zA-Z\d\s]){3,}\z/,
200
+ GH: /\A([a-zA-Z\d\s]){3,}\z/,
201
+ GM: /\A([a-zA-Z\d\s]){3,}\z/,
202
+ GN: /\A([a-zA-Z\d\s]){3,}\z/,
203
+ GI: /\A(GX11 1AA)\z/,
204
+ GR: /\A\d{3}([ ]\d{2})\z/,
205
+ GY: /\A([a-zA-Z\d\s]){3,}\z/,
206
+ HN: /\A(([a-zA-Z]){2}|\d{2})\d{4}\z/,
207
+ IO: /\A\d{5}\z/,
208
+ IR: /\A\d{5}\z/,
209
+ JP: /\A\d{7}\z/,
210
+ JM: /\A(JM)[A-Z]{3}\d{2}\z/,
211
+ KI: /\A([a-zA-Z\d\s]){3,}\z/,
212
+ KN: /\A([a-zA-Z\d\s]){3,8}\z/,
213
+ KP: /\A([a-zA-Z\d\s]){3,8}\z/,
214
+ LI: /\A\d{4}\z/,
215
+ LV: /\A([a-zA-Z]|\d){3,8}\z/,
216
+ LY: /\A\d{5}\z/,
217
+ LT: /\A([a-zA-Z]){2}(-)\d{4}\z/,
218
+ LC: /\A([a-zA-Z\d\s]){3,}\z/,
219
+ MC: /\A\d{5}\z/,
220
+ MD: /\A(([a-zA-Z]){2})(|\s)\d{4}\z/,
221
+ ME: /\A([a-zA-Z\d\s]){3,}\z/,
222
+ MH: /\A\d{5}\z/,
223
+ MR: /\A([a-zA-Z\d\s]){3,}\z/,
224
+ MM: /\A([a-zA-Z\d\s]){3,}\z/,
225
+ MW: /\A([a-zA-Z\d\s]){3,}\z/,
226
+ MZ: /\A\d{4}\z/,
227
+ NA: /\A\d{5}\z/,
228
+ NP: /\A\d{6}\z/,
229
+ NR: /\A([a-zA-Z\d\s]){3,}\z/,
230
+ PT: /\A\d{8}\z/,
231
+ PS: /\A\d{3}\z/,
232
+ PA: /\A\d{6}\z/,
233
+ PE: /\A\d{5}\z/,
234
+ QA: /\A([a-zA-Z\d\s]){3,}\z/,
235
+ RW: /\A([a-zA-Z\d\s]){3,}\z/,
236
+ SC: /\A([a-zA-Z\d\s]){3,}\z/,
237
+ SE: /\A\d{3}[ ]\d{2}\z/,
238
+ SK: /\A\d{3}[ ]\d{2}\z/,
239
+ SL: /\A([a-zA-Z\d\s]){3,}\z/,
240
+ SB: /\A([a-zA-Z\d\s]){3,}\z/,
241
+ SR: /\A([a-zA-Z\d\s]){3,}\z/,
242
+ SO: /\A([a-zA-Z\d\s]){3,}\z/,
243
+ SV: /\A([a-zA-Z\d\s]){3,}\z/,
244
+ SD: /\A\d{5}\z/,
245
+ ST: /\A([a-zA-Z\d\s]){3,}\z/,
246
+ SY: /\A([a-zA-Z\d\s]){3,}\z/,
247
+ SS: /\A\d{5}\z/,
248
+ TD: /\A\d{5}\z/,
249
+ TG: /\A([a-zA-Z\d\s]){3,}\z/,
250
+ TO: /\A([a-zA-Z\d\s]){3,}\z/,
251
+ TZ: /\A([a-zA-Z\d\s]){3,}\z/,
252
+ TT: /\A\d{6}\z/,
253
+ TW: /\A\d{3}\z/,
254
+ UK: /\A([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)\z/,
255
+ UG: /\A([a-zA-Z\d\s]){3,}\z/,
256
+ UM: /\A([a-zA-Z\d\s]){3,}\z/,
257
+ UY: /\A([a-zA-Z\d\s]){3,}\z/,
258
+ VC: /\A(VC)\d{4}\z/,
259
+ VI: /\A\d{5}\z/,
260
+ VG: /\A([a-zA-Z\d\s]){3,}\z/,
261
+ VN: /\A\d{6}\z/,
262
+ VU: /\A([a-zA-Z\d\s]){3,}\z/,
263
+ WS: /\A([a-zA-Z\d\s]){3,}\z/,
264
+ YE: /\A([a-zA-Z\d\s]){3,}\z/,
265
+ ZW: /\A([a-zA-Z\d\s]){3,}\z/
166
266
  }
167
267
 
168
268
  def regexp_for_country_alpha2(alpha2)
@@ -1,3 +1,3 @@
1
1
  module ValidatesZipcode
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -114,6 +114,30 @@ describe ValidatesZipcode, '#validate_each' do
114
114
  end
115
115
  end
116
116
 
117
+ context 'Lithuania' do
118
+ it 'validates with a valid zipcode' do
119
+ record = build_record('LT-0110', 'LT')
120
+ zipcode_should_be_valid(record)
121
+ end
122
+
123
+ it 'does not validate with an invalid zipcode' do
124
+ record = build_record('21006', 'LT')
125
+ zipcode_should_be_invalid(record)
126
+ end
127
+ end
128
+
129
+ context 'Moldova' do
130
+ it 'validates with a valid zipcode' do
131
+ record = build_record('MD2001', 'MD')
132
+ zipcode_should_be_valid(record)
133
+ end
134
+
135
+ it 'does not validate with an invalid zipcode' do
136
+ record = build_record('MD-2100', 'MD')
137
+ zipcode_should_be_invalid(record)
138
+ end
139
+ end
140
+
117
141
  def zipcode_should_be_valid(record)
118
142
  ValidatesZipcode::Validator.new(attributes: :zipcode).validate(record)
119
143
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_zipcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Gil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-02 00:00:00.000000000 Z
11
+ date: 2015-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.2.2
113
+ rubygems_version: 2.4.6
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Localizable zipcode validation for Rails.