class Cta
Public Class Methods
get_directions(params = {})
click to toggle source
A list of cardinal directions for a given route
# File lib/cta.rb, line 21 def self.get_directions(params = {}) response = Cta.send('/getdirections', params) return response[:error] ? response : response[:response]['dir'] end
get_next(params = {})
click to toggle source
Next time for a stop
# File lib/cta.rb, line 39 def self.get_next(params = {}) response = Cta.get_predictions(params) newest = response.kind_of?(Array) ? response.first : response (((Time.parse newest['prdtm']) - (Cta.get_time)) / 60).ceil end
get_predictions(params = {})
click to toggle source
A list of predicted times for a stop
# File lib/cta.rb, line 33 def self.get_predictions(params = {}) response = Cta.send('/getpredictions', params) return response[:error] ? response : response[:response]['prd'] end
get_routes(params = {})
click to toggle source
A list of all bus routes
# File lib/cta.rb, line 15 def self.get_routes(params = {}) response = Cta.send('/getroutes', params) return response[:error] ? response : response[:response]['route'] end
get_stops(params = {})
click to toggle source
A list of stops for a given route
# File lib/cta.rb, line 27 def self.get_stops(params = {}) response = Cta.send('/getstops', params) return response[:error] ? response : response[:response]['stop'] end
get_time(params = {})
click to toggle source
The current system time for the CTA API
# File lib/cta.rb, line 9 def self.get_time(params = {}) response = Cta.send('/gettime') return response[:error] ? response : (Time.parse response[:response]['tm']) end
send(route, params = {})
click to toggle source
# File lib/cta.rb, line 45 def self.send(route, params = {}) return { :success => false, :error => "No API key provided." } if @key.nil? params.merge!({ :key => @key }) response = get(route, { :query => params }) return { :success => false, :error => "Could not reach CTA servers." } if response.code != 200 return { :success => false, :error => response['bustime_response']['error']['msg'] } if response['bustime_response']['error'] { :success => true, :response => response['bustime_response'] } end
set_key(key)
click to toggle source
# File lib/cta.rb, line 58 def self.set_key(key) @key = key end