Sha256: c3e59da26c58877dcc40b90aada6a46af927a9ce25ca9e522dfd7b9172f2f6af

Contents?: true

Size: 1.2 KB

Versions: 9

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Dor
  module Workflow
    module Response
      # Represents the status of an object doing a workflow process
      class Process
        extend Deprecation
        self.deprecation_horizon = '4.x'

        # @params [Workflow] parent
        # @params [Hash] attributes
        def initialize(parent:, **attributes)
          @parent = parent
          @attributes = attributes
        end

        def name
          @attributes[:name].presence
        end

        def status
          @attributes[:status].presence
        end

        def datetime
          @attributes[:datetime].presence
        end

        def elapsed
          @attributes[:elapsed].presence
        end

        def attempts
          @attributes[:attempts].presence
        end

        def lifecycle
          @attributes[:lifecycle].presence
        end

        def note
          @attributes[:note].presence
        end

        def error_message
          @attributes[:errorMessage].presence
        end

        def lane_id
          @attributes[:laneId].presence
        end

        delegate :pid, :workflow_name, to: :parent

        private

        attr_reader :parent
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
dor-workflow-client-7.3.0 lib/dor/workflow/response/process.rb
dor-workflow-client-7.2.0 lib/dor/workflow/response/process.rb
dor-workflow-client-7.1.0 lib/dor/workflow/response/process.rb
dor-workflow-client-7.0.2 lib/dor/workflow/response/process.rb
dor-workflow-client-7.0.1 lib/dor/workflow/response/process.rb
dor-workflow-client-7.0.0 lib/dor/workflow/response/process.rb
dor-workflow-client-6.0.0 lib/dor/workflow/response/process.rb
dor-workflow-client-5.1.0 lib/dor/workflow/response/process.rb
dor-workflow-client-5.0.0 lib/dor/workflow/response/process.rb