class FakeSmith

Constants

VERSION

Public Class Methods

add_message(queue_name, message) click to toggle source
# File lib/fake_smith.rb, line 58
def self.add_message(queue_name, message)
  messages[queue_name] ||= []
  messages[queue_name] << message
end
clear_all() click to toggle source
# File lib/fake_smith.rb, line 63
def self.clear_all
  clear_subscriptions
  clear_messages
  clear_logger
end
define_subscription(queue_name, options, &blk) click to toggle source
# File lib/fake_smith.rb, line 44
def self.define_subscription(queue_name, options, &blk)
  subscriptions[queue_name] = blk
  subscriptions_options[queue_name] = options
end
get_messages(queue_name) click to toggle source
# File lib/fake_smith.rb, line 54
def self.get_messages(queue_name)
  messages[queue_name] ||= []
end
logger() click to toggle source
# File lib/fake_smith.rb, line 73
def self.logger
  @logger ||= FakeSmith::Logger.new
end
reply_handlers() click to toggle source
# File lib/fake_smith.rb, line 31
def self.reply_handlers
  @reply_handlers ||= {}
end
send_message(queue_name, payload, receiver) click to toggle source
# File lib/fake_smith.rb, line 35
def self.send_message(queue_name, payload, receiver)
  raise "no subscribers on queue: #{queue_name}" unless subscriptions[queue_name]
  receiver = ReceiverDecorator.new(receiver)
  opts = subscriptions_options[queue_name]
  auto_ack = opts.key?(:auto_ack) ? opts[:auto_ack] : true
  receiver.ack if auto_ack
  subscriptions[queue_name].call(payload, receiver)
end
set_reply_handler(queue_name, &blk) click to toggle source
# File lib/fake_smith.rb, line 26
def self.set_reply_handler(queue_name, &blk)
  @reply_handlers ||= {}
  @reply_handlers[queue_name] = blk
end
subscribed_queues() click to toggle source
# File lib/fake_smith.rb, line 69
def self.subscribed_queues
  subscriptions.keys
end
undefine_subscription(queue_name, &blk) click to toggle source
# File lib/fake_smith.rb, line 49
def self.undefine_subscription(queue_name, &blk)
  subscriptions.delete(queue_name)
  blk.call
end

Private Class Methods

clear_logger() click to toggle source
# File lib/fake_smith.rb, line 99
def self.clear_logger
  @logger = nil
end
clear_messages() click to toggle source
# File lib/fake_smith.rb, line 83
def self.clear_messages
  @messages = {}
end
clear_subscriptions() click to toggle source
# File lib/fake_smith.rb, line 95
def self.clear_subscriptions
  @subscriptions = {}
end
messages() click to toggle source
# File lib/fake_smith.rb, line 79
def self.messages
  @messages ||= {}
end
subscriptions() click to toggle source
# File lib/fake_smith.rb, line 87
def self.subscriptions
  @subscriptions ||= {}
end
subscriptions_options() click to toggle source
# File lib/fake_smith.rb, line 91
def self.subscriptions_options
  @subscriptions_options ||= {}
end