Sha256: 00db8de87bcbeadec0b57f6b4781c662df3a6dc8cfb56b0be93904c6c80e9a00

Contents?: true

Size: 625 Bytes

Versions: 6

Compression:

Stored size: 625 Bytes

Contents

require 'aws-sdk-sns'
require 'json'

module HermesMessengerOfTheGods
  module Endpoints
    class Sns < Base
      def sns_topic
        @sns_topic ||= Aws::SNS::Topic.new(self.endpoint,
                                           self.options[:client_options] || {}
                                          )
      end

      def transmit(message, raw_message, dispatch_options = {})
        pub_opts = fetch_option(:publish_options, raw_message) || {}

        message = JSON.dump(message) if self.options[:jsonify]
        sns_topic.publish(pub_opts.merge(dispatch_options, message: message))
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hermes_messenger_of_the_gods-2.3.1 lib/hermes_messenger_of_the_gods/endpoints/sns.rb
hermes_messenger_of_the_gods-2.3.0 lib/hermes_messenger_of_the_gods/endpoints/sns.rb
hermes_messenger_of_the_gods-2.2.0 lib/hermes_messenger_of_the_gods/endpoints/sns.rb
hermes_messenger_of_the_gods-2.1.1 lib/hermes_messenger_of_the_gods/endpoints/sns.rb
hermes_messenger_of_the_gods-2.1.0 lib/hermes_messenger_of_the_gods/endpoints/sns.rb
hermes_messenger_of_the_gods-2.0.0 lib/hermes_messenger_of_the_gods/endpoints/sns.rb