Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
57 lines (39 sloc) 1.4 KB

Bustracker

Edinburgh BusTracker via Ruby.

An attempt at providing an object-based interface for interacting with the BusTracker data.

Installation

gem install bus_tracker

Examples

Service Information

Find all of the bus stops for a particular service: service = BusTracker.service('N30')

service.number
#=> 'N30'

After fetching a service, you can also pull up information about each stop for that service:

bus_stop = service.bus_stops.first

bus_stop.code
> '36232545'

bus_stop.name
 > 'Castle Street'

bus_stop.latitude
 > "55.951084136963"
bus_stop.longitude
 > "-3.2017660140991"

bus_stop.service_numbers
 > ["1", "3", "3A", "4", "22", "25", "X25", "30", "33", "34", "44", "44A", "N22", "N25", "N30", "N44"]

Departures

If you know the code for a bus stop you can fetch the associated departures. This is the same information that you'd see on the bus tracker boards, but instantiated as their own departure objects. stop = BusTracker.bus_stop('36232545') departure = stop.departures.first

departure.service_number
#=> 30
departure.destination
#=> MUSSELBURGH
departure.due
#=> 7

For any BusTracker::BusStop instance, you can fetch the latest departure times: stop.fetch_departures! stop.departures.first.due #=> 5

Copyright (c) 2010 [Mark Connell], released under the MIT license