Class: Actions::ForemanPatch::Cycle::Plan

Inherits:
EntryAction
  • Object
show all
Defined in:
app/lib/actions/foreman_patch/cycle/plan.rb

Instance Method Summary collapse

Instance Method Details

#delay(delay_options, plan) ⇒ Object



6
7
8
9
10
11
# File 'app/lib/actions/foreman_patch/cycle/plan.rb', line 6

def delay(delay_options, plan)
  input.update serialize_args(plan: plan)
  add_missing_task_group(plan)

  super delay_options, plan
end

#finalizeObject



35
36
37
# File 'app/lib/actions/foreman_patch/cycle/plan.rb', line 35

def finalize
  cycle_plan.iterate if cycle_plan.active_count > 0
end

#humanized_nameObject



39
40
41
# File 'app/lib/actions/foreman_patch/cycle/plan.rb', line 39

def humanized_name
  _('Plan cycle: %s') % input[:plan][:name]
end

#plan(plan) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/lib/actions/foreman_patch/cycle/plan.rb', line 13

def plan(plan)
  input.update serialize_args(plan: plan)
  add_missing_task_group(plan)

  sequence do
    creation = plan_action(::Actions::ForemanPatch::Cycle::Create, params(plan))

    concurrence do
      plan.window_plans.each do |window_plan|
        plan_action(::Actions::ForemanPatch::Window::Plan, window_plan, creation.output[:cycle])
      end
    end

    plan_self
  end
end

#runObject



30
31
32
33
# File 'app/lib/actions/foreman_patch/cycle/plan.rb', line 30

def run
  cycle_plan.start_date = cycle_plan.next_cycle_start
  cycle_plan.save!
end