Module: Sfn::MockMacros::OptimisedStepFunction

Included in:
Sfn::MockMacros
Defined in:
lib/sfn/mock_macros/optimised_step_function.rb

Class Method Summary collapse

Class Method Details

.response(data) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sfn/mock_macros/optimised_step_function.rb', line 6

def self.response(data)
  data = [data] if data.is_a?(Hash)
  out_data = data.map do |val|
    if val.key?(:error)
      { Throw: { Error: val[:error], Cause: val[:cause] } }
    else
      val[:output] ||= val[:payload]
      val[:output] ||= val[:response]
      { Return: { Output: val[:output], Status: 'SUCCEDED' } }
    end
  end
  out = {}
  out_data.each_with_index do |val, idx|
    out[idx.to_s] = val
  end
  out
end