Sha256: 3c73bcc45f23c11036f1f4f4a617e4c0c58fa125cbd90c5f8ce14f18859addbf

Contents?: true

Size: 1.23 KB

Versions: 14

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module GoodJob
  # Stores the results of job execution
  class ExecutionResult
    # @return [Object, nil]
    attr_reader :value
    # @return [Exception, nil]
    attr_reader :handled_error
    # @return [Exception, nil]
    attr_reader :unhandled_error
    # @return [String, nil]
    attr_reader :error_event
    # @return [Boolean, nil]
    attr_reader :unexecutable
    # @return [GoodJob::Job, nil]
    attr_reader :retried_job

    # @param value [Object, nil]
    # @param handled_error [Exception, nil]
    # @param unhandled_error [Exception, nil]
    # @param error_event [String, nil]
    # @param unexecutable [Boolean, nil]
    # @param retried_job [GoodJob::Job, nil]
    def initialize(value:, handled_error: nil, unhandled_error: nil, error_event: nil, unexecutable: nil, retried_job: nil)
      @value = value
      @handled_error = handled_error
      @unhandled_error = unhandled_error
      @error_event = error_event
      @unexecutable = unexecutable
      @retried_job = retried_job
    end

    # @return [Boolean]
    def succeeded?
      !(handled_error || unhandled_error || unexecutable || retried?)
    end

    # @return [Boolean]
    def retried?
      retried_job.present?
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
good_job-4.8.2 app/models/good_job/execution_result.rb
good_job-4.8.1 app/models/good_job/execution_result.rb
good_job-4.8.0 app/models/good_job/execution_result.rb
good_job-4.7.0 app/models/good_job/execution_result.rb
good_job-4.6.0 app/models/good_job/execution_result.rb
good_job-4.5.1 app/models/good_job/execution_result.rb
good_job-4.5.0 app/models/good_job/execution_result.rb
good_job-4.4.2 app/models/good_job/execution_result.rb
good_job-4.4.1 app/models/good_job/execution_result.rb
good_job-4.4.0 app/models/good_job/execution_result.rb
good_job-4.3.0 app/models/good_job/execution_result.rb
good_job-4.2.1 app/models/good_job/execution_result.rb
good_job-4.2.0 app/models/good_job/execution_result.rb
good_job-4.1.1 app/models/good_job/execution_result.rb