Module: WorkflowTemplate::Definer::HasActions::Redefine

Included in:
Nested::Unprepared
Defined in:
lib/workflow_template/definer/has_actions/redefine.rb

Instance Method Summary collapse

Instance Method Details

#redefine_onto(workflow_module, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/workflow_template/definer/has_actions/redefine.rb', line 9

def redefine_onto(workflow_module, &block)
  target = Module.new do
    extend workflow_module
  end

  actions.wrapper.each do |action|
    target.send :store_wrapper_action, action
  end
  actions.simple.each do |action|
    position = Position.instance(:after, nil)
    target.send :store_action, action, position
  end
  target.instance_eval(&block)

  target.freeze
end