class Eventboss::Publisher
Attributes
configuration[R]
event_name[R]
sns_client[R]
source[R]
Public Class Methods
new(event_name, sns_client, configuration, opts = {})
click to toggle source
# File lib/eventboss/publisher.rb, line 5 def initialize(event_name, sns_client, configuration, opts = {}) @event_name = event_name @sns_client = sns_client @configuration = configuration @source = configuration.eventboss_app_name unless opts[:generic] end
Public Instance Methods
publish(payload)
click to toggle source
# File lib/eventboss/publisher.rb, line 12 def publish(payload) topic_arn = Topic.build_arn(event_name: event_name, source_app: source) sns_client.publish( topic_arn: topic_arn, message: json_payload(payload) ) end
Private Instance Methods
json_payload(payload)
click to toggle source
# File lib/eventboss/publisher.rb, line 24 def json_payload(payload) payload.is_a?(String) ? payload : payload.to_json end