Class: Dynflow::Testing::DummyExecutionPlan

Inherits:
Object
  • Object
show all
Extended by:
Mimic
Defined in:
lib/dynflow/testing/dummy_execution_plan.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mimic

mimic!

Constructor Details

#initializeDummyExecutionPlan

Returns a new instance of DummyExecutionPlan.



11
12
13
14
15
16
17
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 11

def initialize
  @id                       = Testing.get_id.to_s
  @planned_plan_steps       = []
  @planned_run_steps        = []
  @planned_finalize_steps   = []
  @planned_action_stubbers  = {}
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



9
10
11
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 9

def id
  @id
end

#planned_finalize_stepsObject (readonly)

Returns the value of attribute planned_finalize_steps.



9
10
11
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 9

def planned_finalize_steps
  @planned_finalize_steps
end

#planned_plan_stepsObject (readonly)

Returns the value of attribute planned_plan_steps.



9
10
11
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 9

def planned_plan_steps
  @planned_plan_steps
end

#planned_run_stepsObject (readonly)

Returns the value of attribute planned_run_steps.



9
10
11
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 9

def planned_run_steps
  @planned_run_steps
end

Instance Method Details

#add_finalize_step(action) ⇒ Object



39
40
41
42
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 39

def add_finalize_step(action)
  @planned_finalize_steps << action
  action
end

#add_plan_step(klass, _) ⇒ Object



28
29
30
31
32
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 28

def add_plan_step(klass, _)
  dummy_planned_action(klass).tap do |action|
    @planned_plan_steps << action
  end
end

#add_run_step(action) ⇒ Object



34
35
36
37
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 34

def add_run_step(action)
  @planned_run_steps << action
  action
end

#dummy_planned_action(klass) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 44

def dummy_planned_action(klass)
  DummyPlannedAction.new(klass).tap do |action|
    if planned_action_stubber = @planned_action_stubbers[klass]
      planned_action_stubber.call(action)
    end
  end
end

#stub_planned_action(klass, &block) ⇒ Object

Allows modify the DummyPlannedAction returned by plan_action



24
25
26
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 24

def stub_planned_action(klass, &block)
  @planned_action_stubbers[klass] = block
end

#switch_flow(*args, &block) ⇒ Object



52
53
54
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 52

def switch_flow(*args, &block)
  block.call
end

#worldObject



19
20
21
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 19

def world
  @world ||= DummyWorld.new
end