Class: Tasker::NamedTasksNamedStep

Inherits:
ApplicationRecord show all
Defined in:
app/models/tasker/named_tasks_named_step.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationRecord

configure_database_connections, database_configuration_exists?

Class Method Details

.associate_named_step_with_named_task(named_task, template, named_step) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'app/models/tasker/named_tasks_named_step.rb', line 56

def self.associate_named_step_with_named_task(named_task, template, named_step)
  ntns = named_steps_for_named_task(named_task.named_task_id).where(named_step: { name: named_step.name }).first
  return ntns if ntns

  dependent_system = Tasker::DependentSystem.find_or_create_by!(name: template.dependent_system)
  named_step = Tasker::NamedStep.find_or_create_by!(name: template.name,
                                                    dependent_system_id: dependent_system.dependent_system_id)
  find_or_create(
    named_task,
    named_step,
    {
      default_retry_limit: template.default_retry_limit,
      default_retryable: template.default_retryable,
      skippable: template.skippable
    }
  )
end

.find_or_create(named_task, named_step, options = { default_retry_limit: 3, default_retryable: true, skippable: false }) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'app/models/tasker/named_tasks_named_step.rb', line 39

def self.find_or_create(
  named_task,
  named_step,
  options = {
    default_retry_limit: 3,
    default_retryable: true,
    skippable: false
  }
)
  inst = where(named_task_id: named_task.named_task_id, named_step_id: named_step.named_step_id).first

  inst ||= create({ named_task_id: named_task.named_task_id,
                    named_step_id: named_step.named_step_id }.merge(options))

  inst
end

Instance Method Details

#step_nameObject



78
79
80
# File 'app/models/tasker/named_tasks_named_step.rb', line 78

def step_name
  named_step.name
end

#task_nameObject



74
75
76
# File 'app/models/tasker/named_tasks_named_step.rb', line 74

def task_name
  named_task.name
end