module Sinatra::StoplightAdmin
Public Class Methods
registered(app)
click to toggle source
# File lib/sinatra/stoplight_admin.rb, line 111 def self.registered(app) app.helpers StoplightAdmin::Helpers app.set :data_store, nil app.set :views, File.join(File.dirname(__FILE__), 'views') app.get '/' do ls = lights stats = stat_params(ls) haml :index, locals: stats.merge(lights: ls) end app.get '/stats' do ls = lights stats = stat_params(ls) json({stats: stats, lights: ls}) end app.post '/lock' do with_lights { |l| lock(l) } redirect to('/') end app.post '/unlock' do with_lights { |l| unlock(l) } redirect to('/') end app.post '/green' do with_lights { |l| green(l) } redirect to('/') end app.post '/red' do with_lights { |l| red(l) } redirect to('/') end app.post '/green_all' do data_store.names .reject { |l| Stoplight::Light.new(l) {}.color == Stoplight::Color::GREEN } .each { |l| green(l) } redirect to('/') end end