class Announce::Adapters::ShoryukenAdapter::Topic
Public Instance Methods
arn()
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 105 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 86 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 82 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 111 def sns Shoryuken::Client.sns end
subscribe(queue)
click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 90 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