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.



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

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.



7
8
9
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 7

def id
  @id
end

#planned_finalize_stepsObject (readonly)

Returns the value of attribute planned_finalize_steps.



7
8
9
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 7

def planned_finalize_steps
  @planned_finalize_steps
end

#planned_plan_stepsObject (readonly)

Returns the value of attribute planned_plan_steps.



7
8
9
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 7

def planned_plan_steps
  @planned_plan_steps
end

#planned_run_stepsObject (readonly)

Returns the value of attribute planned_run_steps.



7
8
9
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 7

def planned_run_steps
  @planned_run_steps
end

Instance Method Details

#add_finalize_step(action) ⇒ Object



37
38
39
40
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 37

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

#add_plan_step(klass, _) ⇒ Object



26
27
28
29
30
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 26

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

#add_run_step(action) ⇒ Object



32
33
34
35
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 32

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

#dummy_planned_action(klass) ⇒ Object



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

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



22
23
24
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 22

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

#switch_flow(*args, &block) ⇒ Object



50
51
52
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 50

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

#worldObject



17
18
19
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 17

def world
  @world ||= DummyWorld.new
end