Sha256: fb007cfcff4777521105727f9e68365802c70311a12f8df810f439f26cfc2102
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'sinatra/base' require 'split' require 'bigdecimal' require 'split/dashboard/helpers' module Split class Dashboard < Sinatra::Base dir = File.dirname(File.expand_path(__FILE__)) set :views, "#{dir}/dashboard/views" set :public_folder, "#{dir}/dashboard/public" set :static, true set :method_override, true helpers Split::DashboardHelpers get '/' do # Display experiments without a winner at the top of the dashboard @experiments = Split::Experiment.all_active_first # Display Rails Environment mode (or Rack version if not using Rails) if Object.const_defined?('Rails') @current_env = Rails.env.titlecase else @current_env = "Rack: #{Rack.version}" end erb :index end post '/:experiment' do @experiment = Split::Experiment.find(params[:experiment]) @alternative = Split::Alternative.new(params[:alternative], params[:experiment]) @experiment.winner = @alternative.name redirect url('/') end post '/start/:experiment' do @experiment = Split::Experiment.find(params[:experiment]) @experiment.start redirect url('/') end post '/reset/:experiment' do @experiment = Split::Experiment.find(params[:experiment]) @experiment.reset redirect url('/') end post '/reopen/:experiment' do @experiment = Split::Experiment.find(params[:experiment]) @experiment.reset_winner redirect url('/') end delete '/:experiment' do @experiment = Split::Experiment.find(params[:experiment]) @experiment.delete redirect url('/') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
split-0.7.1 | lib/split/dashboard.rb |