Module: WorkflowTemplate::Adapters::State::Default::ClassMethods

Includes:
State::Adapter::Abstract::ClassMethods
Defined in:
lib/workflow_template/adapters/state/default.rb

Instance Method Summary collapse

Instance Method Details

#canonical?(wrapped_state) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/workflow_template/adapters/state/default.rb', line 27

def canonical?(wrapped_state)
  wrapped_state.is_a? Hash
end

#error?(wrapped_state) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/workflow_template/adapters/state/default.rb', line 31

def error?(wrapped_state)
  !!wrapped_state[:error]
end

#flat_map_unwrappable_state(wrapped_state) {|wrapped_state| ... } ⇒ Object

Yields:

  • (wrapped_state)


55
56
57
# File 'lib/workflow_template/adapters/state/default.rb', line 55

def flat_map_unwrappable_state(wrapped_state)
  yield wrapped_state
end

#map_unwrappable_state(wrapped_state) {|wrapped_state| ... } ⇒ Object

Yields:

  • (wrapped_state)


51
52
53
# File 'lib/workflow_template/adapters/state/default.rb', line 51

def map_unwrappable_state(wrapped_state)
  yield wrapped_state
end

#run_handler!(state, binding, &block) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/workflow_template/adapters/state/default.rb', line 59

def run_handler!(state, binding, &block)
  if binding
    binding.receiver.instance_exec(**state.bare_state, &block)
  else
    block.call(**state.bare_state)
  end
end

#unwrap_error(wrapped_state) ⇒ Object



47
48
49
# File 'lib/workflow_template/adapters/state/default.rb', line 47

def unwrap_error(wrapped_state)
  wrapped_state[:error]
end

#unwrap_success(wrapped_state) ⇒ Object



39
40
41
# File 'lib/workflow_template/adapters/state/default.rb', line 39

def unwrap_success(wrapped_state)
  wrapped_state
end

#wrap_error_with_bare_state(error, bare_state) ⇒ Object



43
44
45
# File 'lib/workflow_template/adapters/state/default.rb', line 43

def wrap_error_with_bare_state(error, bare_state)
  { **bare_state, error: error }
end

#wrap_success(bare_state) ⇒ Object



35
36
37
# File 'lib/workflow_template/adapters/state/default.rb', line 35

def wrap_success(bare_state)
  bare_state
end