class MiniEnvironmentsController < ApplicationController def show @mini_environment = MiniEnvironment.find(params[:id]) end def new @mini_environment = MiniEnvironment.new end def create @mini_environment = MiniEnvironment.create( params .require(:mini_environment) .permit( :name, :govuk_guix_revision_id ) ) GovukGuix::BuildJob.enqueue(@mini_environment.id) redirect_to @mini_environment end def perform_action @mini_environment = MiniEnvironment.find(params[:mini_environment_id]) action = params.require(:commit) case action when 'Destroy' DestroyJob.enqueue(@mini_environment.id) flash[:notice] = "Destroying mini environment" when 'Start' StartJob.enqueue(@mini_environment.id) flash[:notice] = "Starting mini environment" else flash[:error] = "Unknown action #{action}" end render 'show' end end