- Ruby Gem wrapper for Transport for NSW Open Data APIs that opens a HTTP(S) session for multiple configured requests. Currently supported APIs:
- Traffic Volume Counts API
- Trip Planner API
-
Install Gem
$ gem install opendata-api $ bundle install
-
Follow User Guide of OpenData API to:
- Register with OpenData API
- Create App
- Select APIs Supported by the Gem
- Obtain associated API Keys
- Add API Keys to .env file (i.e.
OPENDATA_API_KEY=<INSERT_API_KEY>
) - Access the API Key in Ruby app with
ENV['OPENDATA_API_KEY']
-
Usage in Ruby project or IRB
require 'opendata-api' require 'json' require 'dotenv' API_KEY = ENV['OPENDATA_API_KEY'] OpenDataAPI.init(API_KEY) args = [ { api_name: 'traffic_volume_counts', format: 'geojson', table: 'road_traffic_counts_station_reference', limit: '50' }, { api_name: 'trip_planner', format: 'rapidJSON', coord_lat: '-33.8688', coord_long: '151.2093', coord_radius: '1000' } ] response = OpenDataAPI.run(args) puts JSON.pretty_generate(JSON.parse(response[:traffic_volume_counts])) puts JSON.pretty_generate(JSON.parse(response[:trip_planner]))
Contributions are welcome. Particularly updating the configuration to support other OpenData APIs.
The gem is available as open source under the terms of the MIT License.