| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | module Blazer  class ChecksController < BaseController    before_action :set_check, only: [:edit, :update, :destroy, :run]    def index      state_order = [nil, "disabled", "error", "timed out", "failing", "passing"]      @checks = Blazer::Check.joins(:query).includes(:query).order("blazer_queries.name, blazer_checks.id").to_a.sort_by { |q| state_order.index(q.state) || 99 }      @checks.select! { |c| "#{c.query.name} #{c.emails}".downcase.include?(params[:q]) } if params[:q]    end    def new      @check = Blazer::Check.new(query_id: params[:query_id])    end    def create      @check = Blazer::Check.new(check_params)      # use creator_id instead of creator      # since we setup association without checking if column exists      @check.creator = blazer_user if @check.respond_to?(:creator_id=) && blazer_user      if @check.save        redirect_to query_path(@check.query)      else        render_errors @check      end    end    def update      if @check.update(check_params)        redirect_to query_path(@check.query)      else        render_errors @check      end    end    def destroy      @check.destroy      redirect_to checks_path    end    def run      @query = @check.query      redirect_to query_path(@query)    end    private      def check_params        params.require(:check).permit(:query_id, :emails, :invert, :check_type, :schedule)      end      def set_check        @check = Blazer::Check.find(params[:id])      end  endend
 |