Sha256: 97c0d4650ef0503b09644db6209066f74632f4a5180d6157d31467416c306972

Contents?: true

Size: 872 Bytes

Versions: 1

Compression:

Stored size: 872 Bytes

Contents

class MissionControl::Jobs::JobsController < MissionControl::Jobs::ApplicationController
  include MissionControl::Jobs::JobScoped, MissionControl::Jobs::JobFilters

  def index
    @job_class_names = jobs_with_status.job_class_names
    @queue_names = ApplicationJob.queues.map(&:name)

    @jobs_page = MissionControl::Jobs::Page.new(filtered_jobs_with_status, page: params[:page].to_i)
    @jobs_count = @jobs_page.total_count
  end

  def show
  end

  private
    def jobs_relation
      filtered_jobs
    end

    def filtered_jobs_with_status
      filtered_jobs.with_status(jobs_status)
    end

    def jobs_with_status
      ApplicationJob.jobs.with_status(jobs_status)
    end

    def filtered_jobs
      ApplicationJob.jobs.where(**@job_filters)
    end

    helper_method :jobs_status

    def jobs_status
      params[:status].presence&.inquiry
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mission_control-jobs-0.1.0 app/controllers/mission_control/jobs/jobs_controller.rb