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|