Class: IRail::API::NMBS

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby-irail/packages/nmbs/api.rb

Constant Summary collapse

API_URL =
"http://api.irail.be"
STATIONS_URI =
"stations/"
CONNECTIONS_URI =
"connections/"
VEHICLE_URI =
"vehicle/"
LIVEBOARD_URI =
"liveboard/"

Instance Method Summary collapse

Instance Method Details

#arrivals(station_id, options = {}) ⇒ Object



33
34
35
36
37
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 33

def arrivals(station_id, options = {})
  liveboard_url = build_liveboard_url
  xml_arrivals  = get_arrivals(liveboard_url, station_id, options)
  IRail::NMBS::DocumentParser.parse_liveboard(xml_arrivals)
end

#connections(origin_station, destination_station, options = {}) ⇒ Object



15
16
17
18
19
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 15

def connections(origin_station, destination_station, options = {})
  connections_url = build_connections_url
  xml_connections = get_connections(connections_url, origin_station, destination_station, options)
  IRail::NMBS::DocumentParser.parse_connections(xml_connections)
end

#departures(station_id, options = {}) ⇒ Object



27
28
29
30
31
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 27

def departures(station_id, options = {})
  liveboard_url  = build_liveboard_url
  xml_departures = get_departures(liveboard_url, station_id, options)
  IRail::NMBS::DocumentParser.parse_liveboard(xml_departures)
end

#get_arrivals(liveboard_url, station_id, options = {}) ⇒ Object



59
60
61
62
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 59

def get_arrivals(liveboard_url, station_id, options = {})
  options = build_arrivals_option_hash(station_id, options)
  IRail::Request.get(liveboard_url, options)
end

#get_connections(connections_url, origin_station, destination_station, options = {}) ⇒ Object



44
45
46
47
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 44

def get_connections(connections_url, origin_station, destination_station, options = {})
  options = build_connections_option_hash(origin_station, destination_station, options)
  IRail::Request.get(connections_url, options)
end

#get_departures(liveboard_url, station_id, options = {}) ⇒ Object



54
55
56
57
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 54

def get_departures(liveboard_url, station_id, options = {})
  options = build_departures_option_hash(station_id, options)
  IRail::Request.get(liveboard_url, options)
end

#get_station_list(station_list_url, options = {}) ⇒ Object



39
40
41
42
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 39

def get_station_list(station_list_url, options = {})
  options = { :query => options } if options.any?
  IRail::Request.get(station_list_url, options)
end

#get_vehicle(vehicle_url, vehicle_id, options = {}) ⇒ Object



49
50
51
52
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 49

def get_vehicle(vehicle_url, vehicle_id, options = {})
  options = build_vehicle_option_hash(vehicle_id, options)
  IRail::Request.get(vehicle_url, options)
end

#stations(options = {}) ⇒ Object



9
10
11
12
13
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 9

def stations(options = {})
  station_list_url = build_station_list_url
  xml_station_list = get_station_list(station_list_url, options)
  IRail::NMBS::DocumentParser.parse_stations(xml_station_list)
end

#vehicle(vehicle_id, options = {}) ⇒ Object



21
22
23
24
25
# File 'lib/ruby-irail/packages/nmbs/api.rb', line 21

def vehicle(vehicle_id, options = {})
  vehicle_url = build_vehicle_url
  xml_vehicle = get_vehicle(vehicle_url, vehicle_id, options)
  IRail::NMBS::DocumentParser.parse_vehicle(xml_vehicle)
end