Project

tube

0.0
No commit activity in last 3 years
No release in over 3 years
A simple Ruby library to access the status of the London Underground network.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 1.4.1
 Project Readme

Tube/Status¶ ↑

A simple MIT licensed Ruby library to access the status of the London Underground network as returned by the Transport for London API.

Before the API was available this library scraped the data from the TFL website, at the moment the code has been updated to retain mostly the same Ruby API, while calling the new TFL API, rather than scrape the website. In the future this library may change to better match what TFL now make available.

Installation¶ ↑

$ gem install tube

Examples¶ ↑

require "tube/status"

status = Tube::Status.new

broken_lines = status.lines.select {|line| line.problem?}
broken_lines.collect {|line| line.name}
#=> ["Circle", "District", "Jubilee", "Metropolitan", "Northern"]

status.lines.detect {|line| line.id == :circle}.message
#=> "Saturday 7 and Sunday 8 March, suspended."

closed_stations = status.station_groups["Closed stations"]
closed_stations.collect {|station| station.name}
#=> ["Blackfriars", "Hatton Cross"]

stations = status.station_groups.values.flatten
stations.detect {|station| station.name =~ "hatton"}.message
#=> "Saturday 7 and Sunday 8 March, closed."

status.updated.strftime("%I:%M%p")
#=> "04:56PM"

status.reload
status.updated.strftime("%I:%M%p")
#=> "05:00PM"