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