class MiniEnvironmentsController < ApplicationController def show @mini_environment = MiniEnvironment.find(params[:id]) end def new @mini_environment = MiniEnvironment.new end def create parameters = params.require( :mini_environment ).permit( :name, :govuk_guix_revision_id, ) logger.error(parameters) @mini_environment = MiniEnvironment.new(parameters) @mini_environment.backend = Backends.find_by_type_and_id( params.require(:mini_environment).fetch(:backend) ) @mini_environment.save! @mini_environment.backend.build(@mini_environment) redirect_to @mini_environment end def perform_action @mini_environment = MiniEnvironment.find(params[:mini_environment_id]) action = params.require(:commit) case action when 'Destroy' MiniEnvironmentJob.enqueue(@mini_environment.id, :destroy) flash[:notice] = "Destroying mini environment" when 'Start' MiniEnvironmentJob.enqueue(@mini_environment.id, :start) flash[:notice] = "Starting mini environment" else flash[:error] = "Unknown action #{action}" end render 'show' end end