Module: WorkflowTemplate::Definer::HasActions::Dsl

Included in:
Nested::Unprepared, Root
Defined in:
lib/workflow_template/definer/has_actions/dsl.rb

Instance Method Summary collapse

Instance Method Details

#append_action(after: nil) ⇒ Object



17
18
19
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 17

def append_action(after: nil)
  Insert.new(self, :after, after)
end

#apply(action_name, **opts, &block) ⇒ Object Also known as: and_then



11
12
13
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 11

def apply(action_name, **opts, &block)
  insert_action(action_name, position: :after, **opts, &block)
end

#inside_action(name, &block) ⇒ Object



29
30
31
32
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 29

def inside_action(name, &block)
  position = Inside.new(name, block)
  store_action(nil, position)
end

#prepend_action(before: nil) ⇒ Object



21
22
23
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 21

def prepend_action(before: nil)
  Insert.new(self, :before, before)
end

#remove_action(action_name) ⇒ Object



39
40
41
42
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 39

def remove_action(action_name)
  position = Position.instance(:at, action_name)
  store_action(nil, position)
end

#replace_action(name) ⇒ Object



25
26
27
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 25

def replace_action(name)
  Insert.new(self, :at, name)
end

#wrap_template(action_name, **opts) ⇒ Object



34
35
36
37
# File 'lib/workflow_template/definer/has_actions/dsl.rb', line 34

def wrap_template(action_name, **opts)
  action = Action.instance(action_name, :wrapper, **translate_action_parameters(**opts))
  store_wrapper_action(action)
end