going_postal 0.1.5 → 0.1.6

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 (3) hide show
  1. data/README.rdoc +13 -1
  2. data/lib/going_postal.rb +44 -3
  3. metadata +2 -2
data/README.rdoc CHANGED
@@ -53,11 +53,23 @@ valid? is also available directly on the GoingPostal module.
53
53
  format_postcode is aliased as format_post_code, format_zip, format_zipcode, and
54
54
  format_zip_code.
55
55
 
56
+ == Contributing
57
+
58
+ Contributions are gladly accepted via pull request. When adding new countries
59
+ or changing existing logic, please keep the following rules in mind for how the
60
+ formatter / validator should work:
61
+
62
+ * reject something that clearly isn't a postcode;
63
+ * reject as much as possible as can be done with a simple format check;
64
+ * do not coerce something that may not be a postcode in to a postcode;
65
+ * accept badly formatted postcodes (eg wrong case, misplaced spaces/separators);
66
+ * accept everything that is a postcode.
67
+
56
68
  == Licence
57
69
 
58
70
  (The MIT License)
59
71
 
60
- Copyright (c) 2011,2012,2013 Global Personals, Ltd.
72
+ Copyright (c) Global Personals, Ltd.
61
73
 
62
74
  Permission is hereby granted, free of charge, to any person obtaining a copy
63
75
  of this software and associated documentation files (the "Software"), to deal
data/lib/going_postal.rb CHANGED
@@ -30,9 +30,10 @@
30
30
  # GoingPostal.postcode?("sl41eg", "GB") #=> "SL4 1EG"
31
31
  # GoingPostal.postcode?("200378001", "US") #=> "20037-8001"
32
32
  #
33
- # Currently supported countries are United Kingdom (GB, UK), United States (US),
34
- # Canada (CA), Australia (AU), New Zeland (NZ), South Africa (ZA), and
35
- # The Netherlands (NL).
33
+ # Currently supported countries are United Kingdom (GB, UK), United States
34
+ # (US), Canada (CA), Australia (AU), New Zeland (NZ), South Africa (ZA), The
35
+ # Netherlands (NL), Sweden (SE), Belgium (BE), Austria (AT), Norway (NO),
36
+ # Germany (DE), Luxembourg (LU), Denmark (DE), France (FR) and Romania (RO).
36
37
  #
37
38
  # Ireland (IE) as well as 60+ other countries that do not use postcodes
38
39
  # - see GoingPostal::COUNTRIES_WITHOUT_POSTCODES - are supported insomuch as,
@@ -281,7 +282,23 @@ module GoingPostal
281
282
  string = string.to_s.delete(" \t\r\n")
282
283
  string if string =~ /^[1-9][0-9]{3}$/
283
284
  end
285
+
286
+ def format_dk_postcode(string)
287
+ format_ch_postcode(string)
288
+ end
284
289
 
290
+ def format_be_postcode(string)
291
+ format_ch_postcode(string)
292
+ end
293
+
294
+ def format_lu_postcode(string)
295
+ format_ch_postcode(string)
296
+ end
297
+
298
+ def format_at_postcode(string)
299
+ format_ch_postcode(string)
300
+ end
301
+
285
302
  def format_nl_postcode(string)
286
303
  string = string.to_s.upcase.delete(" \t\r\n")
287
304
  string.insert(4, " ") if string.length >= 4
@@ -292,7 +309,31 @@ module GoingPostal
292
309
  match = /^(\d\d)[^\w]*(\d\d\d)$/.match(string)
293
310
  match.captures.join("-") if match && match[1] && match[2]
294
311
  end
312
+
313
+ def format_de_postcode(string)
314
+ string = string.to_s.upcase.delete(" \t\r\n")
315
+ string if string =~ /^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$/
316
+ end
317
+
318
+ def format_se_postcode(string)
319
+ string = string.to_s.upcase.delete(" \t\r\n")
320
+ string if string =~ /^[1-9]{1}[0-9]{4}$/
321
+ end
322
+
323
+ def format_no_postcode(string)
324
+ string = string.to_s.upcase.delete(" \t\r\n")
325
+ string if string =~ /^[0-9]{4}$/
326
+ end
327
+
328
+ def format_fr_postcode(string)
329
+ format_de_postcode(string)
330
+ end
295
331
 
332
+ def format_ro_postcode(string)
333
+ string = string.to_s.delete(" \t\r\n")
334
+ string if string =~ /^[0-9]{6}$/
335
+ end
336
+
296
337
  private
297
338
 
298
339
  def get_args_for_format_postcode(args)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: going_postal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-11 00:00:00.000000000 Z
12
+ date: 2016-01-13 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Post/zip code formatting and validation for the UK, US, CA and more.
15
15
  email: mat@sourcetagsandcodes.com