diff --git a/tubestatus.rb b/tubestatus.rb index a4957b1..74cc9ca 100644 --- a/tubestatus.rb +++ b/tubestatus.rb @@ -41,8 +41,10 @@ class Tubestatus < Sinatra::Base messages = [] end - { :id => line["Name"].first.downcase.gsub(/ (&)?/, ""), - :name => line["Name"].first, + name = weekend_line_mapping(line["Name"].first) + + { :id => name.downcase.gsub(/[^a-z]+/, "-"), + :name => name, :status => line["Status"].first["Text"].first.downcase, :messages => messages } end @@ -50,4 +52,10 @@ class Tubestatus < Sinatra::Base content_type :json JSON data end + + def weekend_line_mapping(name) + mapping = { 'H\'smith & City' => 'Hammersmith and City', + 'Waterloo & City' => 'Waterloo and City' } + mapping[name] || name + end end