Class: Retab::WorkflowRun

Inherits:
Types::BaseModel show all
Defined in:
lib/retab/workflow_runs/workflow_run.rb

Constant Summary collapse

HASH_ATTRS =
{
  id: :id,
  workflow_id: :workflow_id,
  workflow_version_id: :workflow_version_id,
  trigger: :trigger,
  lifecycle: :lifecycle,
  timing: :timing,
  inputs: :inputs
}.freeze

Instance Attribute Summary collapse

Attributes inherited from Types::BaseModel

#last_response

Instance Method Summary collapse

Methods inherited from Types::BaseModel

deep_symbolize, #inspect, normalize, #to_h, #to_json

Constructor Details

#initialize(json) ⇒ WorkflowRun

Returns a new instance of WorkflowRun.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/retab/workflow_runs/workflow_run.rb', line 28

def initialize(json)
  super()
  hash = self.class.normalize(json)
  @id = hash[:id]
  @workflow_id = hash[:workflow_id]
  @workflow_version_id = hash[:workflow_version_id]
  @trigger = hash[:trigger] ? Retab::TriggerInfo.new(hash[:trigger]) : nil
  @lifecycle = hash[:lifecycle] ? (
    case hash[:lifecycle][:status]
    when "awaiting_review"
      Retab::AwaitingReviewRun.new(hash[:lifecycle])
    when "cancelled"
      Retab::CancelledTerminal.new(hash[:lifecycle])
    when "completed"
      Retab::CompletedTerminal.new(hash[:lifecycle])
    when "error"
      Retab::ErrorTerminal.new(hash[:lifecycle])
    when "pending"
      Retab::PendingRun.new(hash[:lifecycle])
    when "running"
      Retab::RunningRun.new(hash[:lifecycle])
    else
      hash[:lifecycle]
    end
  ) : nil
  @timing = hash[:timing] ? Retab::RunTiming.new(hash[:timing]) : nil
  @inputs = hash[:inputs] ? Retab::RunInputs.new(hash[:inputs]) : nil
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def id
  @id
end

#inputsObject

Returns the value of attribute inputs.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def inputs
  @inputs
end

#lifecycleObject

Returns the value of attribute lifecycle.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def lifecycle
  @lifecycle
end

#timingObject

Returns the value of attribute timing.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def timing
  @timing
end

#triggerObject

Returns the value of attribute trigger.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def trigger
  @trigger
end

#workflow_idObject

Returns the value of attribute workflow_id.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def workflow_id
  @workflow_id
end

#workflow_version_idObject

Returns the value of attribute workflow_version_id.



18
19
20
# File 'lib/retab/workflow_runs/workflow_run.rb', line 18

def workflow_version_id
  @workflow_version_id
end