Sha256: b6478e667760b45c3b555aad008882f423bcd320725e548daf99a25424c541d2

Contents?: true

Size: 948 Bytes

Versions: 3

Compression:

Stored size: 948 Bytes

Contents

require "simplerubysteps"

if ENV["QUEUE"]
  require "aws-sdk-sqs"
  require "json"

  class QueueClient
    def initialize(sqs_client, queue)
      @sqs_client = sqs_client
      @queue = queue
    end

    def send(data)
      @sqs_client.send_message(queue_url: @queue, message_body: data.to_json)
    end
  end

  $queue_client = QueueClient.new(Aws::SQS::Client.new, ENV["QUEUE"])
else
  $queue_client = nil
end

require "./workflow.rb"

include Simplerubysteps

def handler(event:, context:)
  puts ENV.inspect if ENV["DEBUG"]
  puts event if ENV["DEBUG"]
  puts context.inspect if ENV["DEBUG"]

  if event["Token"]
    unless $queue_client
      $sm.deep_states[ENV["task"].to_sym].perform_action event["Input"], event["Token"]
    else
      $sm.deep_states[ENV["task"].to_sym].perform_queue_action event["Input"], event["Token"], $queue_client
    end
  else
    $sm.deep_states[ENV["task"].to_sym].perform_action event["Input"]
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simplerubysteps-0.0.13 lib/function.rb
simplerubysteps-0.0.12 lib/function.rb
simplerubysteps-0.0.11 lib/function.rb