class Lapine::Consumer::Topology
Public Instance Methods
close!()
click to toggle source
# File lib/lapine/consumer/topology.rb, line 27 def close! return unless @cons @cons.values.each do |conn| conn.close! end end
each_binding() { |node, get_conn(node), node, classes| ... }
click to toggle source
# File lib/lapine/consumer/topology.rb, line 7 def each_binding config.queues.each do |node| classes = classify(node['handlers']) yield node['q'], get_conn(node['topic']), node['routing_key'], classes end end
each_queue_to_delete() { |node, get_conn(node), node, classes| ... }
click to toggle source
# File lib/lapine/consumer/topology.rb, line 14 def each_queue_to_delete config.delete_queues.each do |node| classes = classify(node['handlers']) yield node['q'], get_conn(node['topic']), node['routing_key'], classes end end
each_topic() { |topic| ... }
click to toggle source
# File lib/lapine/consumer/topology.rb, line 21 def each_topic config.topics.each do |topic| yield topic end end
Private Instance Methods
classify(handlers)
click to toggle source
# File lib/lapine/consumer/topology.rb, line 36 def classify(handlers) return [] unless handlers handlers.map do |handler| handler.split('::').inject(Object) do |const, name| const.const_get(name) end end end
debug(msg)
click to toggle source
# File lib/lapine/consumer/topology.rb, line 55 def debug(msg) return unless config.debug? return unless logger logger.info msg end
get_conn(name)
click to toggle source
# File lib/lapine/consumer/topology.rb, line 45 def get_conn(name) @cons ||= {}.tap do |cons| each_topic do |topic| debug "Connecting to RabbiMQ: topic: #{topic}, #{config.connection_properties}" cons[topic] = Lapine::Consumer::Connection.new(config, topic) end end @cons[name] end