A simple collection of geographic names and abbreviations for Rails apps (includes replacements for country_select and state_select)
Ruby
Pull request Compare This branch is 25 commits ahead, 442 commits behind jim:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
lib
rails
test
.gitignore
MIT-LICENSE
README.rdoc
Rakefile
VERSION
carmen.gemspec

README.rdoc

Carmen- A simple collection of geographic names and abbreviations for Ruby

This library will work as a drop in replacement for the official Rails country_select and its various forks. The idea is to provide a single library for all geographic naming concerns, and unify them under a consistent API.

States are supported for the following countries: Australia, Brazil, Canada, Cuba, Denmark, Germany, Italy, Mexico, New Zealand, Norway, Spain, Ukraine, and United States.

Installation

gem install namxam-carmen

If you're in Rails:

# classic style
config.gem 'namxam-carmen', :lib => 'carmen', :source => 'http://rubygems.org'

# when using rubygems 1.3.6
config.gem 'namxam-carmen', :lib => 'carmen'

# when on rails 3 put this in your Gemfile
gem "namxam-carmen", :require => "carmen"

Or as a plugin:

script/plugin install git://github.com/namxam/carmen

Get a list of all countries

Carmen.countries => […, ['Germany', 'DE'], …, ['United States', 'US'], …]
Carmen.countries(:locale => 'de') => […, ['Deutschland', 'DE'], …, ['Vereinigte Staaten von Amerika', 'US'], …]

State list retrieval

Carmen::states('US') => [['Alabama', 'AL'], ['Arkansas', 'AR'], ... ]
Carmen::states => [['Alabama', 'AL'], ['Arkansas', 'AR'], ... ] # uses default country
Carmen::state_names('US') => ['Alabama', 'Arkansas', ... ]
Carmen::state_codes('US') => ['AL', 'AR', ... ]

Abbreviation handling

Carmen::country_name('US') => 'United States'
Carmen::country_code('Canada') => 'CA'
Carmen::state_code('Illinois') => 'IL'
Carmen::state_code('Manitoba', 'CA') => 'MB'
Carmen::state_name('AZ') => 'Arizona'

Default Country

Methods that take a country code argument will use the default country if none is provided. The default default country is 'US'. You can change it to any country code:

Carmen.default_country = 'CA'

Default Localization

You can switch between different localizations of the countries list, by setting the locale value (default is :en):

Carmen.locale = :de

Currently included localizations are: English, German

Changelog

  • 0.1.3 DEPRECATE Carmen::COUNTRIES in favor of Carmen.countries