Skip to content

ltfschoen/opendata-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenData API

Gem Version

  • 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

Installation

  • 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]))

Contributors

Contributions are welcome. Particularly updating the configuration to support other OpenData APIs.

License

The gem is available as open source under the terms of the MIT License.

Packages

 
 
 

Contributors

Languages