web/app/controllers/settings/benchmark_configurations_controller.rb
author Marcel Hlopko <marcel.hlopko@gmail.com>
Tue, 25 Jun 2013 22:11:10 +0200
changeset 106 eac4098d544d
child 233 67d68cf6356c
permissions -rw-r--r--
huge refactoring to better fit what we agreed on
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
106
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     1
class Settings::BenchmarkConfigurationsController < SettingsController
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     2
  def index
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     3
    @benchmark_configuration = BenchmarkConfiguration.new
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     4
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     5
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     6
  def show
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     7
    @benchmark_configuration = BenchmarkConfiguration.find(params[:id])
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     8
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
     9
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    10
  def create
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    11
    @benchmark_configuration = BenchmarkConfiguration.new(benchmark_configuration_params) 
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    12
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    13
    if @benchmark_configuration.save
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    14
      flash[:success] = "Configuration #{@benchmark_configuration.name} successfully created"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    15
      redirect_to action: :index
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    16
    else
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    17
      flash.now[:failure] = "There were some errors" 
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    18
      render "index"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    19
    end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    20
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    21
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    22
  def update
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    23
    if @benchmark_configuration.update_attributes(benchmark_configuration_params)
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    24
      flash[:success] = "Configuration #{@benchmark_configuration.name} successfully updated"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    25
      redirect_to action: :index
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    26
    else
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    27
      flash.now[:failure] = "There were some errors" 
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    28
      render "show"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    29
    end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    30
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    31
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    32
  def destroy
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    33
    @benchmark_configuration = BenchmarkConfiguration.find(params[:id])
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    34
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    35
    if @benchmark_configuration.destroy
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    36
      flash[:success] = "Configuration #{@benchmark_configuration.name} successfully deleted"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    37
    else
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    38
      flash[:error] = "Could not delete #{@benchmark_configuration.name} configuration"
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    39
    end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    40
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    41
    redirect_to action: :index
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    42
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    43
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    44
  private
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    45
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    46
  def benchmark_configuration_params
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    47
    strong_params = params.require(:benchmark_configuration).permit(:runtime_id, :operating_system_id)
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    48
    strong_params.merge(language_id: Runtime.find(strong_params[:runtime_id]).language.id)
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    49
  end
eac4098d544d huge refactoring to better fit what we agreed on
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff changeset
    50
end