has_addresses
demonstrates a reference implementation for handling countries, regions, and addresses.
API
Bugs
Development
Testing
Source
-
git://github.com/pluginaweek/has_addresses.git
Mailing List
Countries, regions, and addresses are all simple models whose data and functionality should be able to be standardized across multiple applications. has_addresses adds support for countries and regions based on the ISO 3166 and ISO 3166-2 standard. The data for these standards is obtained through the open-source Debian package, iso-codes.
Along with the simple Country and Region models, addresses can be defined and integrated based on the data in these models. Addresses are minimalistic in terms of the type of data required.
Note that this is a reference implementation and, most likely, should be modified for your own usage.
has_addresses
requires additional database tables to work. You can generate a migration for these tables like so:
script/generate has_addresses
Then simply migrate your database:
rake db:migrate
address = Address.new( :street_1 => '1600 Amphitheatre Parkway', :city => 'Mountain View', :region => 'US-CA', :postal_code => '94043' ) address.single_line # => "1600 Amphitheatre Parkway, Mountain View, California 94043, United States"
Before you can run any tests, the following gem must be installed:
To run against a specific version of Rails:
rake test RAILS_FRAMEWORK_ROOT=/path/to/rails
-
Rails 2.3 or later
-
enumerate_by 0.4.1 or later