Ящик для инструментов для канадских почтовых кодов: проверка, нормализация и угадание их региона.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . guess_region ( "K1A 0B3" )
# => "ON"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
После нормализации строки проверяет, соответствует ли она формату для почтового кода.
Строки, содержащие буквы D, F, I, O, Q, и те, которые начинаются с W или Z, являются недействительными.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . valid? ( "F8G 1A1" )
# => false
CAPostalCode . valid? ( "potato" )
# => false
CAPostalCode . valid? ( "P0T 4T0" )
# => true
Нормализуйте строку, чтобы выглядеть как почтовый код.
Это не проверяет на обоснованность. Скорее .valid?
Метод полагается на этот, чтобы облегчить работу.
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . normalize ( "g1c 4z9" )
# => "G1C 4Z9"
CAPostalCode . normalize ( "potato" )
# => "POT ATO"
Угадает канадскую провинцию или территорию ( регион ) на основе почтового кодекса.
Для провинций и Юкона это догадается на основе первой буквы. Для северо -западных территорий и Нунавута он проверит первые два или три символа.
CAPostalCode . guess_region ( "G1A 1A1" )
# => "QC"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
CAPostalCode . guess_region ( "B6A 1A1" )
# => "NS"
В вашем драгоценном камне:
gem "ca_postal_code"
Или установите сами:
gem install ca_postal_code
После проверки репо, запустите bin/setup
для установки зависимостей. Затем запустите rake spec
чтобы запустить тесты. Вы также можете запустить bin/console
для интерактивной подсказки, которая позволит вам экспериментировать.
Чтобы установить этот драгоценный камень на локальную машину, запустите bundle exec rake install
. bundle exec rake release
выпустить .gem
версию, обновите номер версии в version.rb
.
Отчеты об ошибках и запросы на тягу приветствуются на GitHub по адресу https://github.com/joallard/ca-postal-code.