Uma caixa de ferramentas para códigos postais canadenses: validar, normalizar e adivinhar sua região.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . guess_region ( "K1A 0B3" )
# => "ON"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
Depois de normalizar a string, verifique se ela se encaixa no formato para um código postal.
As cordas contendo letras d, f, i, o, q e aquelas que começam com w ou z são inválidas.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . valid? ( "F8G 1A1" )
# => false
CAPostalCode . valid? ( "potato" )
# => false
CAPostalCode . valid? ( "P0T 4T0" )
# => true
Normalize a string para parecer um código postal.
Não verifica a validade. Em vez disso, o .valid?
O método depende deste para facilitar seu trabalho.
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . normalize ( "g1c 4z9" )
# => "G1C 4Z9"
CAPostalCode . normalize ( "potato" )
# => "POT ATO"
Adivinha a província ou território canadense ( região ) com base no código postal.
Para as províncias e Yukon, ele adivinhará com base na primeira letra. Para os territórios do Noroeste e Nunavut, ele verificará os dois ou três primeiros caracteres.
CAPostalCode . guess_region ( "G1A 1A1" )
# => "QC"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
CAPostalCode . guess_region ( "B6A 1A1" )
# => "NS"
No seu GemFile:
gem "ca_postal_code"
Ou instale você mesmo:
gem install ca_postal_code
Depois de verificar o repositório, execute bin/setup
para instalar dependências. Em seguida, execute rake spec
para executar os testes. Você também pode executar bin/console
para um prompt interativo que permitirá experimentar.
Para instalar esta gema na sua máquina local, execute bundle exec rake install
. Para lançar uma nova versão, atualize o número da versão no version.rb
e, em seguida, execute bundle exec rake release
, que criará uma tag git para a versão, push git cometa e tags e pressionará o arquivo .gem
para rubygems.org.
Relatórios de bug e solicitações de tração são bem-vindos no github em https://github.com/joallard/capostal-code.