class RabbitJobs::Publisher::Test
Publisher
for testing. Stores AMQP messages to array.
Public Class Methods
cleanup()
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 9 def cleanup messages.clear end
direct_publish_to(routing_key, payload, ex = {})
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 20 def direct_publish_to(routing_key, payload, ex = {}) exchange_name = ex.is_a?(Hash) ? ex[:name] : ex messages.push payload: payload, exchange_name: exchange_name.to_s, routing_key: routing_key.to_s true end
publish_to(routing_key, klass, *params)
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 13 def publish_to(routing_key, klass, *params) check_amqp_publishing_params(routing_key, klass) payload = Job.serialize(klass, *params) direct_publish_to(routing_key.to_sym, payload) end
purge_queue(*routing_keys)
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 26 def purge_queue(*routing_keys) fail ArgumentError unless routing_keys.present? messages.clear end
queue_status(routing_key)
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 31 def queue_status(routing_key) check_queue_status_params(routing_key) { message_count: messages.count, consumer_count: 0 } end
Private Class Methods
messages()
click to toggle source
# File lib/rabbit_jobs/publisher/test.rb, line 38 def messages @messages ||= [] end