Skip to content

patrickdet/locode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Locode

Build Status

The Locode gem gives you the ability to lookup UN/LOCODE codes. You can read more about the UN/LOCODE specifications here: wiki.

All data used by this gem has been taken from the UN Centre for Trade Facilitation and E-business official website. No guarantees for the accuracy or up-to-dateness are given.

http://www.unece.org/cefact/locode/welcome.html and http://www.unece.org/cefact/codesfortrade/codes_index.html

Installation

Add this line to your application's Gemfile:

gem 'locode'

And then execute:

$ bundle

Or install it yourself as:

$ gem install locode

Usage

Find Locations whose full name or full name without diacritics matches the search string

Locode.find_by_name('Göteborg')
#=> [<Locode::Location: 'SE GOT'>]

Find Locations that partially match the Search String. This means you can search by just the country code or a whole LOCODE.

Locode.find_by_locode('US')
#=> [<Locode::Location: 'US NYC'>,>
     <Locode::Location: 'US LAX'>, ... ]

You can also retrieve Locode's by the different functions, for example:

Locode.seaports()
#=> [<Locode::Location: 'DE HAM'>, ..]

There are a lot of locations so you can also limit the amount of locations returned by passing a amount:

Locode.inland_clearance_depots(1)
#=> [<Locode::Location: 'DE HAM'>]

These are the possible function calls:

  • seaports(limit)
  • rail_terminals(limit)
  • road_terminals(limit)
  • airport(limit)
  • postal_exchange_offices(limit)
  • inland_clearance_depots(limit)
  • fixed_transport_functions(limit)
  • border_crossing_functions(limit)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request