Sha256: 45c2ed83f7137bbf4297f553800286a8575d27e304c6227e5568a870da5f43ea
Contents?: true
Size: 853 Bytes
Versions: 1
Compression:
Stored size: 853 Bytes
Contents
require 'sinatra/base' module TowerBridgeLifts class Server < Sinatra::Base helpers Helpers enable :logging set :public_folder, 'web' tblifts = Base.new view = View.new get '/' do tblifts.fetch if tblifts.expired? @tblifts = tblifts @view = view erb :index, views: settings.public_folder end get '/api/v1/:command' do content_type :json command = params['command'] options = Rack::Utils.parse_query(request.query_string) options = Hash[ options.map{|k,v| [k.to_sym, (Integer(v) rescue v)]} ] if Base::ALLOWED_COMMANDS.include?(command) tblifts.fetch if tblifts.expired? view.render(tblifts, command, options, :json) else error 404, 'oops' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tower_bridge_lifts-1.0.0 | lib/tower_bridge_lifts/server.rb |