class Announce::Adapters::ShoryukenAdapter::Topic
Public Instance Methods
arn()
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 127 def arn account_id = Shoryuken::Client.account_id region = sns.config[:region] "arn:aws:sns:#{region}:#{account_id}:#{name}" end
create()
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 97 def create sns.create_topic(name: name)[:topic_arn] end
publish(message, options = {})
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 93 def publish(message, options = {}) Shoryuken::Client.topics(name).send_message(message, options) end
sns()
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 133 def sns Shoryuken::Client.sns end
subscribe(queue)
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 113 def subscribe(queue) subscription_arn = sns.subscribe(topic_arn: arn, protocol: "sqs", endpoint: queue.arn)[ :subscription_arn ] sns.set_subscription_attributes( subscription_arn: subscription_arn, attribute_name: "RawMessageDelivery", attribute_value: "true" ) subscription_arn end
verify()
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 101 def verify Announce.logger.warn("Verify SNS Topic: #{arn}") end
verify_subscription(queue)
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 105 def verify_subscription(queue) Announce.logger.warn( "Verify Subscription:\n"\ " from SNS Topic: #{arn}\n"\ " to SQS Queue: #{queue.arn}" ) end