module Dashboard::Routing::Main
Public Class Methods
registered(app)
click to toggle source
# File lib/rubyneat_dashboard/main.rb, line 32 def registered(app) app.get '/' do haml :layout end app.get '/views/*' do |view| haml view.to_sym, layout: false end app.get '/json/*' do |path| @params = params @con = NEAT::controller @pop = @con.population_complete(params['gen'].nil? ? nil : params['gen'].to_i) rabl "/json/#{path}".to_sym, format: 'json' end # streaming population data list = [] app.get '/population', provides: 'text/event-stream' do stream(:keep_open) do |out| Thread.new do loop { payload = wrap_for_sending payload: Dashboard.dq.population.next out << payload } end list << out $log.debug "list count #{list.count}" out.callback { puts 'closed' list.delete(out) } out.errback { $log.warn "population stream lost connection" list.delete out } end end end