mirror of
https://github.com/danbee/tubefeed
synced 2025-03-04 08:39:11 +00:00
Initial commit.
This commit is contained in:
commit
83a78fde6d
13
Gemfile
Normal file
13
Gemfile
Normal file
@ -0,0 +1,13 @@
|
||||
source :rubygems
|
||||
|
||||
gem 'sinatra'
|
||||
gem 'sinatra-jsonp'
|
||||
gem 'foreman'
|
||||
|
||||
group :development do
|
||||
gem 'shotgun'
|
||||
end
|
||||
|
||||
group :production do
|
||||
gem 'thin'
|
||||
end
|
||||
36
Gemfile.lock
Normal file
36
Gemfile.lock
Normal file
@ -0,0 +1,36 @@
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
daemons (1.1.9)
|
||||
eventmachine (1.0.0)
|
||||
foreman (0.61.0)
|
||||
thor (>= 0.13.6)
|
||||
multi_json (1.3.7)
|
||||
rack (1.5.0)
|
||||
rack-protection (1.3.2)
|
||||
rack
|
||||
shotgun (0.9)
|
||||
rack (>= 1.0)
|
||||
sinatra (1.3.3)
|
||||
rack (~> 1.3, >= 1.3.6)
|
||||
rack-protection (~> 1.2)
|
||||
tilt (~> 1.3, >= 1.3.3)
|
||||
sinatra-jsonp (0.4.1)
|
||||
multi_json (~> 1.3.7)
|
||||
sinatra (~> 1.0)
|
||||
thin (1.5.0)
|
||||
daemons (>= 1.0.9)
|
||||
eventmachine (>= 0.12.6)
|
||||
rack (>= 1.0.0)
|
||||
thor (0.17.0)
|
||||
tilt (1.3.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
foreman
|
||||
shotgun
|
||||
sinatra
|
||||
sinatra-jsonp
|
||||
thin
|
||||
6
config.ru
Normal file
6
config.ru
Normal file
@ -0,0 +1,6 @@
|
||||
require 'bundler'
|
||||
|
||||
Bundler.setup
|
||||
require './tubefeed'
|
||||
|
||||
run Tubefeed
|
||||
1
data/now.json
Normal file
1
data/now.json
Normal file
@ -0,0 +1 @@
|
||||
{"response":{"lines":[{"name":"Bakerloo","id":"bakerloo","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 13:43:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Central","id":"central","status":"good service","messages":[],"status_starts":"Wed, 23 Jan 2013 14:09:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Circle","id":"circle","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 11:50:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"District","id":"district","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 11:29:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"DLR","id":"docklands","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 08:33:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"H'smith & City","id":"hammersmithcity","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 01:35:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Jubilee","id":"jubilee","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 09:39:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Metropolitan","id":"metropolitan","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 12:39:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Northern","id":"northern","status":"good service","messages":[],"status_starts":"Wed, 23 Jan 2013 10:18:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Overground","id":"overground","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 15:02:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Piccadilly","id":"piccadilly","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 07:02:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Victoria","id":"victoria","status":"minor delays","messages":["Minor delays while we fix a signal failure at Highbury & Islington."],"status_starts":"Wed, 23 Jan 2013 16:24:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"},{"name":"Waterloo & City","id":"waterloocity","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 19:58:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 16:31:31 +0000"}]}}
|
||||
1
data/tomorrow.json
Normal file
1
data/tomorrow.json
Normal file
@ -0,0 +1 @@
|
||||
{"response":{"lines":[{"name":"Bakerloo","id":"bakerloo","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 13:43:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Central","id":"central","status":"minor delays","messages":["Minor delays between Leytonstone and Epping while we fix a signal failure at Loughton."],"status_starts":"Wed, 23 Jan 2013 17:37:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Circle","id":"circle","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 11:50:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"District","id":"district","status":"minor delays","messages":["Minor delays following a person ill on a train at Mile End."],"status_starts":"Wed, 23 Jan 2013 17:49:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"DLR","id":"docklands","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 08:33:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"H'smith & City","id":"hammersmithcity","status":"minor delays","messages":["Minor delays following a person ill on a train at Mile End."],"status_starts":"Wed, 23 Jan 2013 17:49:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Jubilee","id":"jubilee","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 09:39:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Metropolitan","id":"metropolitan","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 12:39:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Northern","id":"northern","status":"good service","messages":[],"status_starts":"Wed, 23 Jan 2013 10:18:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Overground","id":"overground","status":"good service","messages":[],"status_starts":"Tue, 22 Jan 2013 15:02:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Piccadilly","id":"piccadilly","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 07:02:02 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Victoria","id":"victoria","status":"severe delays","messages":["Severe delays due to an earlier signal failure at Highbury & Islington. Tickets will be accepted on First Capital Connect (Great Northern), Greater Anglia, Southeastern trains and London buses."],"status_starts":"Wed, 23 Jan 2013 17:19:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"},{"name":"Waterloo & City","id":"waterloocity","status":"good service","messages":[],"status_starts":"Mon, 21 Jan 2013 19:58:01 +0000","status_ends":"","status_requested":"Wed, 23 Jan 2013 17:49:06 +0000"}]}}
|
||||
150
data/weekend.json
Normal file
150
data/weekend.json
Normal file
@ -0,0 +1,150 @@
|
||||
{
|
||||
"response":{
|
||||
"lines":[
|
||||
{
|
||||
"name":"Bakerloo",
|
||||
"id":"bakerloo",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 13:43:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Central",
|
||||
"id":"central",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Wed, 23 Jan 2013 14:09:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Circle",
|
||||
"id":"circle",
|
||||
"status":"special service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Tue, 22 Jan 2013 11:50:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"District",
|
||||
"id":"district",
|
||||
"status":"major delays",
|
||||
"messages":[
|
||||
"MONUMENT AND BANK STATIONS: Please avoid using Monument Station to interchange with services from Bank.",
|
||||
"DISTRICT LINE: Sunday 1 March, suspended between Ealing Broadway and Hammersmith."
|
||||
],
|
||||
"status_starts":"Tue, 22 Jan 2013 11:29:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"DLR",
|
||||
"id":"docklands",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Tue, 22 Jan 2013 08:33:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"H'smith & City",
|
||||
"id":"hammersmithcity",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Tue, 22 Jan 2013 01:35:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Jubilee",
|
||||
"id":"jubilee",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 09:39:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Metropolitan",
|
||||
"id":"metropolitan",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 12:39:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Northern",
|
||||
"id":"northern",
|
||||
"status":"part closure",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Wed, 23 Jan 2013 10:18:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Overground",
|
||||
"id":"overground",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Tue, 22 Jan 2013 15:02:02 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Piccadilly",
|
||||
"id":"piccadilly",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 07:02:02 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Victoria",
|
||||
"id":"victoria",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 19:31:02 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
},
|
||||
{
|
||||
"name":"Waterloo & City",
|
||||
"id":"waterloocity",
|
||||
"status":"good service",
|
||||
"messages":[
|
||||
|
||||
],
|
||||
"status_starts":"Mon, 21 Jan 2013 19:58:01 +0000",
|
||||
"status_ends":"",
|
||||
"status_requested":"Wed, 23 Jan 2013 14:53:42 +0000"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
22
tubefeed.rb
Normal file
22
tubefeed.rb
Normal file
@ -0,0 +1,22 @@
|
||||
require 'sinatra'
|
||||
require 'sinatra/jsonp'
|
||||
require 'json'
|
||||
|
||||
class Tubefeed < Sinatra::Base
|
||||
helpers Sinatra::Jsonp
|
||||
|
||||
get '/now.json' do
|
||||
data = JSON.parse(File.read("data/now.json"))
|
||||
JSONP data
|
||||
end
|
||||
|
||||
get '/tomorrow.json' do
|
||||
data = JSON.parse(File.read("data/tomorrow.json"))
|
||||
JSONP data
|
||||
end
|
||||
|
||||
get '/weekend.json' do
|
||||
data = JSON.parse(File.read("data/weekend.json"))
|
||||
JSONP data
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue
Block a user