Une boîte à outils pour les codes postaux canadiens: valider, normaliser et deviner leur région.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . guess_region ( "K1A 0B3" )
# => "ON"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
Après avoir normalisé la chaîne, vérifie si elle s'adapte au format pour un code postal.
Les cordes contenant des lettres D, F, I, O, Q, et celles qui commencent par W ou Z ne sont pas valides.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . valid? ( "F8G 1A1" )
# => false
CAPostalCode . valid? ( "potato" )
# => false
CAPostalCode . valid? ( "P0T 4T0" )
# => true
Normalisez la chaîne pour ressembler à un code postal.
Il ne vérifie pas la validité. Plutôt, le .valid?
La méthode repose sur celle-ci pour faciliter son travail.
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . normalize ( "g1c 4z9" )
# => "G1C 4Z9"
CAPostalCode . normalize ( "potato" )
# => "POT ATO"
Devine la province ou le territoire canadien ( région ) basé sur le code postal.
Pour les provinces et le Yukon, il devinera sur la base de la première lettre. Pour les territoires du Nord-Ouest et le Nunavut, il vérifiera les deux ou trois premiers personnages.
CAPostalCode . guess_region ( "G1A 1A1" )
# => "QC"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
CAPostalCode . guess_region ( "B6A 1A1" )
# => "NS"
Dans votre gemfile:
gem "ca_postal_code"
Ou installez-le vous-même:
gem install ca_postal_code
Après avoir vérifié le dépôt, exécutez bin/setup
pour installer des dépendances. Ensuite, exécutez rake spec
pour exécuter les tests. Vous pouvez également exécuter bin/console
pour une invite interactive qui vous permettra d'expérimenter.
Pour installer ce gemme sur votre machine locale, exécutez bundle exec rake install
. Pour publier une nouvelle version, mettez à jour le numéro de version dans version.rb
, puis exécutez bundle exec rake release
, qui créera une balise GIT pour la version, pousse Git Commits and Tags, et poussez le fichier .gem
sur RubyGems.org.
Les rapports de bogues et les demandes de traction sont les bienvenus sur GitHub sur https://github.com/joallard/ca-postal-code.