module FastlyNsq::ListenerTesting::ClassMethods

Public Instance Methods

clear() click to toggle source
# File lib/fastly_nsq/testing.rb, line 214
def clear
  FastlyNsq::Messages.messages.clear
end
drain(topic = nil) click to toggle source
# File lib/fastly_nsq/testing.rb, line 202
def drain(topic = nil)
  topics = topic ? [topic] : FastlyNsq::Messages.messages.keys
  topics.each do |t|
    messages = FastlyNsq::Messages.messages[t]
    next unless messages.any?
    listener = FastlyNsq.manager.topic_listeners[t]
    next unless listener

    messages.dup.each { |message| listener.call(message) }
  end
end
messages(topic = nil) click to toggle source
# File lib/fastly_nsq/testing.rb, line 196
def messages(topic = nil)
  return FastlyNsq::Messages.messages.values.flatten unless topic

  FastlyNsq::Messages.messages[topic]
end