class CtaTrack::API
Attributes
apikey[RW]
Public Class Methods
apikey()
click to toggle source
# File lib/api.rb, line 28 def self.apikey return @@apikey end
apikey=(apikey)
click to toggle source
# File lib/api.rb, line 11 def self.apikey=(apikey) @@apikey = apikey end
directions(route)
click to toggle source
# File lib/api.rb, line 46 def self.directions(route) nokorequest("#{@@baseurl}getdirections?key=#{@@apikey}&rt=#{route}&format=json") end
nokorequest(request)
click to toggle source
# File lib/api.rb, line 34 def self.nokorequest(request) Nokogiri::XML(open(request)) end
predictions(**args)
click to toggle source
# File lib/api.rb, line 21 def self.predictions(**args) if args[:routes] && args[:stopId] nokorequest("#{@@baseurl}getpredictions?key=#{@@apikey}&rt=#{requested_routes(args[:routes])}&stpid=#{args[:stopId]}") else raise new ArgumentError end end
requested_routes(routes)
click to toggle source
# File lib/api.rb, line 38 def self.requested_routes(routes) if routes.respond_to?(:map) routes.map {|x| x.to_s + ","}.reduce(:+)[0...-1] else routes.to_s end end
routes()
click to toggle source
# File lib/api.rb, line 18 def self.routes() nokorequest("#{@@baseurl}getroutes/?key=#{@@apikey}") end
stops(args)
click to toggle source
# File lib/api.rb, line 49 def self.stops(args) nokorequest("#{@@baseurl}getstops?key=#{@@apikey}&rt=#{args[:route]}&dir=#{args[:direction]}&format=json") end
vehicles(args)
click to toggle source
# File lib/api.rb, line 14 def self.vehicles(args) raise ArgumentError, "must include a :routes" unless args[:routes] vehicles_by_route(args[:routes]) if args[:routes] end
vehicles_by_route(routes)
click to toggle source
# File lib/api.rb, line 31 def self.vehicles_by_route(routes) nokorequest("#{@@baseurl}getvehicles/?key=#{@@apikey}&rt=#{requested_routes(routes)}") end