Sha256: db27b6e0e0fdec5e8caa48e793d329585a1c20ca795acf8001beee11fe4dcdfa

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

module Blazer
  class ChecksController < BaseController
    before_action :set_check, only: [:edit, :update, :destroy, :run]

    def index
      @checks = Blazer::Check.joins(:query).includes(:query).order("state, blazer_queries.name, blazer_checks.id").to_a
      @checks.select! { |c| "#{c.query.name} #{c.emails}".downcase.include?(params[:q]) } if params[:q]
    end

    def new
      @check = Blazer::Check.new
    end

    def create
      @check = Blazer::Check.new(check_params)

      if @check.save
        redirect_to run_check_path(@check)
      else
        render :new
      end
    end

    def update
      if @check.update(check_params)
        redirect_to run_check_path(@check)
      else
        render :edit
      end
    end

    def destroy
      @check.destroy
      redirect_to checks_path
    end

    def run
      @query = @check.query
    end

    private

    def check_params
      params.require(:check).permit(:query_id, :emails)
    end

    def set_check
      @check = Blazer::Check.find(params[:id])
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
blazer-1.1.0 app/controllers/blazer/checks_controller.rb
blazer-1.0.4 app/controllers/blazer/checks_controller.rb
blazer-1.0.3 app/controllers/blazer/checks_controller.rb
blazer-1.0.2 app/controllers/blazer/checks_controller.rb
blazer-1.0.1 app/controllers/blazer/checks_controller.rb
blazer-1.0.0 app/controllers/blazer/checks_controller.rb