class WithEvents::Aws::Topic
Attributes
topic[R]
Public Class Methods
new(topic = nil)
click to toggle source
# File lib/with_events/aws/topic.rb, line 27 def initialize(topic = nil) @topic = topic end
Public Instance Methods
publish(message)
click to toggle source
# File lib/with_events/aws/topic.rb, line 31 def publish(message) Circuitry.publish(topic, message.serialize) end
subscribe(options = {}, &block)
click to toggle source
# File lib/with_events/aws/topic.rb, line 35 def subscribe(options = {}, &block) Circuitry.subscribe(options) do |message, topic_name| skip_delete unless positive_result?(topic_name, message, &block) end end
Private Instance Methods
positive_result?(topic_name, message) { |message, topic_name| ... }
click to toggle source
# File lib/with_events/aws/topic.rb, line 45 def positive_result?(topic_name, message) message = Message.from_sqs(message) valid_message?(message) && yield(message, topic_name) end
skip_delete()
click to toggle source
# File lib/with_events/aws/topic.rb, line 54 def skip_delete throw :skip_delete end
valid_message?(message)
click to toggle source
# File lib/with_events/aws/topic.rb, line 50 def valid_message?(message) message.stream && message.event && message.identifier end