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.
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
#id ⇒ Object (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_steps ⇒ Object (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_steps ⇒ Object (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_steps ⇒ Object (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 |
#world ⇒ Object
19 20 21 |
# File 'lib/dynflow/testing/dummy_execution_plan.rb', line 19 def world @world ||= DummyWorld.new end |