Sha256: 729b4ec231a8f92ec0900442f5697b7500786eeabec1381f9d4a271de2512a6a

Contents?: true

Size: 724 Bytes

Versions: 2

Compression:

Stored size: 724 Bytes

Contents

module MissionControl::Jobs::NotFoundRedirections
  extend ActiveSupport::Concern

  included do
    rescue_from(ActiveJob::Errors::JobNotFoundError) do |error|
      redirect_to best_location_for_job_relation(error.job_relation), alert: error.message
    end

    rescue_from(MissionControl::Jobs::Errors::ResourceNotFound) do |error|
      redirect_to root_url, alert: error.message
    end
  end

  private
    def best_location_for_job_relation(job_relation)
      case
      when job_relation.failed?
        application_jobs_path(@application, :failed)
      when job_relation.queue_name.present?
        application_queue_path(@application, job_relation.queue_name)
      else
        root_path
      end
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mission_control-jobs-0.1.1 app/controllers/concerns/mission_control/jobs/not_found_redirections.rb
mission_control-jobs-0.1.0 app/controllers/concerns/mission_control/jobs/not_found_redirections.rb