Sha256: d6513f993f6a757faaa7d0e9656df42b64e4c92104e47f20e81f5cf21c01b3b0

Contents?: true

Size: 1.03 KB

Versions: 15

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true
module GoodJob
  class ExecutionsFilter < BaseFilter
    def states
      {
        'finished' => base_query.finished.count,
        'unfinished' => base_query.unfinished.count,
        'running' => base_query.running.count,
        'errors' => base_query.where.not(error: nil).count,
      }
    end

    def filtered_query
      query = base_query
      query = query.job_class(params[:job_class]) if params[:job_class].present?
      query = query.where(queue_name: params[:queue_name]) if params[:queue_name].present?
      query = query.search_text(params[:query]) if params[:query].present?

      if params[:state]
        case params[:state]
        when 'finished'
          query = query.finished
        when 'unfinished'
          query = query.unfinished
        when 'running'
          query = query.running
        when 'errors'
          query = query.where.not(error: nil)
        end
      end

      query
    end

    private

    def default_base_query
      GoodJob::Execution.all
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
good_job-2.9.6 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.5 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.4 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.3 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.2 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.1 engine/app/filters/good_job/executions_filter.rb
good_job-2.9.0 engine/app/filters/good_job/executions_filter.rb
good_job-2.8.1 engine/app/filters/good_job/executions_filter.rb
good_job-2.8.0 engine/app/filters/good_job/executions_filter.rb
good_job-2.7.4 engine/app/filters/good_job/executions_filter.rb
good_job-2.7.3 engine/app/filters/good_job/executions_filter.rb
good_job-2.7.2 engine/app/filters/good_job/executions_filter.rb
good_job-2.7.1 engine/app/filters/good_job/executions_filter.rb
good_job-2.7.0 engine/app/filters/good_job/executions_filter.rb
good_job-2.6.2 engine/app/filters/good_job/executions_filter.rb