class Transport::Timetable

Attributes

parse[RW]

Public Class Methods

new() click to toggle source

default_params :output => 'json'

# File lib/timetable.rb, line 18
def initialize
  @version = 'v1'
  @parse = true
  @options = { query: {  } }
end

Public Instance Methods

board_for(station, limit=15) click to toggle source
# File lib/timetable.rb, line 32
def board_for station, limit=15
  request 'stationboard', query: { station: station, limit: limit}
end
search_connection(from, to) click to toggle source
# File lib/timetable.rb, line 28
def search_connection from, to
  request 'connections', query: { from: from, to: to}
end
search_station(station_partial) click to toggle source
# File lib/timetable.rb, line 24
def search_station station_partial
  request 'locations', query: { query: station_partial }
end

Private Instance Methods

parse_filter(unparsed_result, resource) click to toggle source
# File lib/timetable.rb, line 46
def parse_filter unparsed_result, resource
  if @parse
    TransportFactory::create(unparsed_result, resource)
  else
    unparsed_result
  end
end
request(resource, options) click to toggle source
# File lib/timetable.rb, line 42
def request resource, options
  parse_filter(self.class.get(restful_url(resource), @options.merge(options)), resource)
end
restful_url(page) click to toggle source
# File lib/timetable.rb, line 38
def restful_url page
  "/#{@version}/#{page}"
end