lib/legion/extensions/transport.rb in legionio-0.2.0 vs lib/legion/extensions/transport.rb in legionio-0.3.0
- old
+ new
@@ -1,13 +1,12 @@
-# frozen_string_literal: true
-
module Legion
module Extensions
module Transport
include Legion::Extensions::Helpers::Transport
attr_accessor :exchanges, :queues, :consumers, :messages
+
def build
@queues = []
@exchanges = []
@messages = []
@consumers = []
@@ -41,11 +40,11 @@
obj.push(file_name) unless obj.include?(file_name)
end
end
end
- def auto_create_exchange(exchange, default_exchange = false)
+ def auto_create_exchange(exchange, default_exchange = false) # rubocop:disable Style/OptionalBooleanParameter
if Object.const_defined? exchange
Legion::Logging.warn "#{exchange} is already defined"
return
end
return build_default_exchange if default_exchange
@@ -61,11 +60,11 @@
if Kernel.const_defined?(queue)
Legion::Logging.warn "#{queue} is already defined"
return
end
- Kernel.const_set(queue, Class.new(Legion::Transport::Queue))
+ transport_class::Queues.const_set(queue.split('::').last, Class.new(Legion::Transport::Queue))
end
def auto_create_dlx_exchange
return if transport_class::Exchanges.const_defined? 'Dlx'
@@ -80,10 +79,10 @@
def auto_create_dlx_queue
return if transport_class::Queues.const_defined?('Dlx')
special_name = default_exchange.new.exchange_name
- dlx_queue = Legion::Transport::Queue.new "#{special_name}.dlx"
+ dlx_queue = Legion::Transport::Queue.new "#{special_name}.dlx", auto_delete: false
dlx_queue.bind("#{special_name}.dlx", { routing_key: '#' })
end
def build_e_to_q(array)
array.each do |binding|