Project

idbus_api

0.0
No commit activity in last 3 years
No release in over 3 years
Easily use Ruby or the command line to find information from the iDBUS API.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
 Project Readme

iDBUS API wrapper

Build Status Coverage Status Gem Version

Description

This gem wraps the new iDBUS API v1 available at https://api.idbus.com

Installation

You can use this gem in your project by specifying it in your Gemfile:

gem "idbus_api"

or simply install it via the CLI:

gem install idbus_api

Usage

All the API methods are available as module methods or as client instance methods.

Configure the client

IdbusApi.configure do |c|
  c.access_token = "my_secret_token"
  c.connection_options = {
    ssl: { verify: false }
  } # Hash of Faraday ConnectionOptions. See http://www.rubydoc.info/github/lostisland/faraday/Faraday/Connection#initialize-instance_method
  c.user_agent = "My App"
end

# Fetch all stops
IdbusApi.stops

or

client = IdbusApi::Client.new(
  access_token: "my_secret_token",
  user_agent: "My App"
)

# Fetch fares
client.fares(date: "2015-07-07")

Fetching resources

All resources are Resource objects. This object provides both dot notation and [] access for the api response fields.

Stops

# Fetch stops from /v1/stops endpoint
stops = IdbusApi.stops

stops.first.short_name == "Paris CDG (aƩroport)"

Fares

Fares can be fetched with optional parameters. Full list of available parameters is available on the api documentation https://api.idbus.com/.

# Fetch fares for specific origin station and specific date
fares = IdbusApi.fares(origin_id: 3, date: "2015-08-15")

fares.first.price_cents
 => 1500

fares.first.to_hash
 => {
      :id => 13864,
      :updated_at => 2015-06-11 07:55:22 UTC,
      :origin_id => 3,
      :destination_id => 13,
      :departure => "2015-08-15T08:40:00.000+02:00",
      :arrival => "2015-08-15T12:55:00.000+02:00",
      :price_cents => 1500,
      :price_currency => "EUR",
      :book_path => "/v1/fares/13864/book",
      :available => true,
      :legs => [{:origin_id=>3, :destination_id=>13, :departure=>"2015-08-15T08:40:00.000+02:00", :arrival=>"2015-08-15T12:55:00.000+02:00", :bus_number=>"3912"}]
    }

Disclaimer

Neither I, nor any developer who contributed to this project, accept any kind of liability for your use of this library.

This gem is not endorsed or affiliated with any company, api.idbus.com, nor iDBUS, nor SNCF.

License

Code licensed under MIT-LICENSE