Class: Dynflow::Testing::DummyExecutionPlan
- Inherits:
-
Object
- Object
- Dynflow::Testing::DummyExecutionPlan
- Extended by:
- Mimic
- Defined in:
- lib/dynflow/testing/dummy_execution_plan.rb
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#planned_finalize_steps ⇒ Object
readonly
Returns the value of attribute planned_finalize_steps.
-
#planned_plan_steps ⇒ Object
readonly
Returns the value of attribute planned_plan_steps.
-
#planned_run_steps ⇒ Object
readonly
Returns the value of attribute planned_run_steps.
Instance Method Summary collapse
- #add_finalize_step(action) ⇒ Object
- #add_plan_step(klass, _) ⇒ Object
- #add_run_step(action) ⇒ Object
- #dummy_planned_action(klass) ⇒ Object
-
#initialize ⇒ DummyExecutionPlan
constructor
A new instance of DummyExecutionPlan.
-
#stub_planned_action(klass, &block) ⇒ Object
Allows modify the DummyPlannedAction returned by plan_action.
- #switch_flow(*args, &block) ⇒ Object
- #world ⇒ Object
Methods included from Mimic
Constructor Details
#initialize ⇒ DummyExecutionPlan
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
#id ⇒ Object (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_steps ⇒ Object (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_steps ⇒ Object (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_steps ⇒ Object (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 |
#world ⇒ Object
17 18 19 |
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 17 def world @world ||= DummyWorld.new end |