module Hutch::Consumer::ClassMethods
Public Instance Methods
arguments(arguments = {})
click to toggle source
Allow to specify custom arguments that will be passed when creating the queue.
# File lib/hutch/consumer.rb, line 40 def arguments(arguments = {}) @arguments = arguments end
consume(*routing_keys)
click to toggle source
Add one or more routing keys to the set of routing keys the consumer wants to subscribe to.
# File lib/hutch/consumer.rb, line 30 def consume(*routing_keys) @routing_keys = self.routing_keys.union(routing_keys) end
get_arguments()
click to toggle source
Returns consumer custom arguments.
# File lib/hutch/consumer.rb, line 55 def get_arguments @arguments || {} end
get_queue_name()
click to toggle source
The RabbitMQ queue name for the consumer. This is derived from the fully-qualified class name. Module separators are replaced with single colons, camelcased class names are converted to snake case.
# File lib/hutch/consumer.rb, line 47 def get_queue_name return @queue_name unless @queue_name.nil? queue_name = self.name.gsub(/::/, ':') queue_name.gsub!(/([^A-Z:])([A-Z])/) { "#{$1}_#{$2}" } queue_name.downcase end
queue_name(name)
click to toggle source
Explicitly set the queue name
# File lib/hutch/consumer.rb, line 35 def queue_name(name) @queue_name = name end
routing_keys()
click to toggle source
Accessor for the consumer’s routing key.
# File lib/hutch/consumer.rb, line 60 def routing_keys @routing_keys ||= Set.new end