module ACTransitRails

Constants

VERSION

Attributes

actransit_token[W]

Public Class Methods

configure(actransit_token) click to toggle source
# File lib/actransit_rails.rb, line 9
def self.configure(actransit_token)
  @actransit_token = actransit_token
end
get_all_routes() click to toggle source

ROUTES

# File lib/actransit_rails.rb, line 15
def self.get_all_routes
  uri = URI.parse(
    base_url + 
    "routes" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_all_stops() click to toggle source

STOPS

# File lib/actransit_rails.rb, line 92
def self.get_all_stops
  uri = URI.parse(
    base_url + 
    "stops" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_directions(route_name) click to toggle source
# File lib/actransit_rails.rb, line 50
def self.get_directions(route_name)
  uri = URI.parse(
    base_url + 
    "route/" + 
    "#{route_name}/directions" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_gtfs_info() click to toggle source

GTFS

# File lib/actransit_rails.rb, line 119
def self.get_gtfs_info
  uri = URI.parse(
    base_url +
    "gtfs" +
    search_string +
    my_token +
    response_format
  )
  return get_response(uri)
end
get_route(route_name) click to toggle source
# File lib/actransit_rails.rb, line 26
def self.get_route(route_name)
  uri = URI.parse(
    base_url + 
    "route/" + 
    "#{route_name}" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_route_pattern(route_name, trip_id = nil) click to toggle source
# File lib/actransit_rails.rb, line 76
def self.get_route_pattern(route_name, trip_id = nil)
  trip_id ||= get_trips(route_name)[0]["TripId"]
  uri = URI.parse(
    base_url + 
    "route/" + 
    "#{route_name}/trip/" + 
    "#{trip_id}/pattern" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_service_notices() click to toggle source

SERVICE NOTICES

# File lib/actransit_rails.rb, line 132
def self.get_service_notices
  uri = URI.parse(
    base_url +
    "servicenotices" +
    search_string +
    my_token +
    response_format
  )
  return get_response(uri)
end
get_stops(route_name, trip_id = nil) click to toggle source
# File lib/actransit_rails.rb, line 62
def self.get_stops(route_name, trip_id = nil)
  trip_id ||= get_trips(route_name)[0]["TripId"]
  uri = URI.parse(
    base_url + 
    "route/" + 
    "#{route_name}/trip/" + 
    "#{trip_id}/stops" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_trips(route_name) click to toggle source
# File lib/actransit_rails.rb, line 38
def self.get_trips(route_name)
  uri = URI.parse(
    base_url + 
    "route/" + 
    "#{route_name}/trips" + 
    search_string + 
    my_token +
    response_format
  )
  return get_response(uri)
end
get_vehicle(vehicle_id) click to toggle source

VEHICLES

# File lib/actransit_rails.rb, line 105
def self.get_vehicle(vehicle_id)
  uri = URI.parse(
    base_url +
    "vehicle/" +
    "#{vehicle_id}" +
    search_string +
    my_token +
    response_format
  )
  return get_response(uri)
end

Private Class Methods

base_url() click to toggle source
# File lib/actransit_rails.rb, line 145
def self.base_url
  return "http://api.actransit.org/transit/"
end
get_response(uri) click to toggle source
# File lib/actransit_rails.rb, line 161
def self.get_response(uri)
  http = Net::HTTP.new(uri.host, uri.port)
  http_response = http.request(Net::HTTP::Get.new(uri.request_uri))
  return process_response(http_response)
end
my_token() click to toggle source
# File lib/actransit_rails.rb, line 153
def self.my_token
  return "token=" + @actransit_token
end
process_response(http_response) click to toggle source
# File lib/actransit_rails.rb, line 167
def self.process_response(http_response)
  code = "#{http_response.code}"
  message = ""
  case (http_response.code)
  when '200'
    return JSON.parse http_response.body
  when '401'
    message = http_response.body
  when '404'
    message = "Not found. No results for your query."
  else
    message = http_response.body
  end
  raise ACTransitRails::APIAccessError.new(message, code)
end
response_format() click to toggle source
# File lib/actransit_rails.rb, line 157
def self.response_format
  return "&format=json"
end
search_string() click to toggle source
# File lib/actransit_rails.rb, line 149
def self.search_string
  "?"
end