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