Class: KVV::Liveapi

Inherits:
Object
  • Object
show all
Defined in:
lib/kvv/liveapi.rb,
lib/kvv/liveapi/version.rb

Constant Summary collapse

API_KEY =
'?key=377d840e54b59adbe53608ba1aad70e8'
API_BASE =
'https://live.kvv.de/webapp/'
URL_PATH_STOPS_BY_NAME =
[ 'stops', 'byname']
URL_PATH_DEPARTURES_BY_STOP =
['departures', 'bystop']
URL_PATH_DEPARTURES_BY_LATLON =
['stops', 'bylatlon']
URL_PATH_DEPARTURES_BY_ROUTE =
['departures', 'byroute']
VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.departures_by_route(route: nil, stop_id: nil) ⇒ Object



24
25
26
27
# File 'lib/kvv/liveapi.rb', line 24

def self.departures_by_route route: nil, stop_id: nil
  return {} unless route && stop_id
  fetch_api_path [URL_PATH_DEPARTURES_BY_ROUTE, route, stop_id]
end

.departures_bystop(stop_id) ⇒ Object



19
20
21
22
# File 'lib/kvv/liveapi.rb', line 19

def self.departures_bystop stop_id
  return {} unless stop_id
  fetch_api_path [URL_PATH_DEPARTURES_BY_STOP, stop_id]
end

.departures_bystop_name(name) ⇒ Object



15
16
17
# File 'lib/kvv/liveapi.rb', line 15

def self.departures_bystop_name name
  self.departures_bystop guess_stop_id_by_name(name)
end

.stops_by_latlon(lat: nil, lon: nil) ⇒ Object



35
36
37
38
39
# File 'lib/kvv/liveapi.rb', line 35

def self.stops_by_latlon lat: nil, lon: nil
  return [] unless lat && lon
  response = fetch_api_path [URL_PATH_DEPARTURES_BY_LATLON, String(lat), String(lon)]
  response["stops"] || {}
end

.stops_by_name(name) ⇒ Object



29
30
31
32
33
# File 'lib/kvv/liveapi.rb', line 29

def self.stops_by_name name
  return [] if name.to_s.empty?
  response = fetch_api_path [URL_PATH_STOPS_BY_NAME, name]
  response["stops"] || {}
end