Class: Afterlife::Clickup::NextTaskStatusDecider

Inherits:
Object
  • Object
show all
Defined in:
lib/afterlife/clickup/next_task_status_decider.rb

Constant Summary collapse

REVERT_SOURCE_STATUS =
'ready for qa'
REVERT_TARGET_STATUS =
'needs rework'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(clickup_task:, target_status:, force: false, reverted: false) ⇒ NextTaskStatusDecider

Returns a new instance of NextTaskStatusDecider.



13
14
15
16
17
18
19
# File 'lib/afterlife/clickup/next_task_status_decider.rb', line 13

def initialize(clickup_task:, target_status:, force: false, reverted: false)
  @clickup_task = clickup_task
  @target_status = target_status
  @force = force
  @reverted = reverted
  @precedence_checker = StatusPrecedenceChecker.new
end

Class Method Details

.call(**args) ⇒ Object



9
10
11
# File 'lib/afterlife/clickup/next_task_status_decider.rb', line 9

def self.call(**args)
  new(**args).call
end

Instance Method Details

#callObject



21
22
23
24
25
26
27
# File 'lib/afterlife/clickup/next_task_status_decider.rb', line 21

def call
  return if current_status.nil?

  return reverted_status if reverted

  skip_update? ? nil : target_status
end