class Mqjob::Config

Attributes

client[RW]
daemonize[RW]
hooks[R]
logger[R]
plugin[RW]
subscription_mode[RW]
threads[RW]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/mqjob.rb, line 54
def initialize(opts = {})
  @hooks = Hooks.new(opts.delete(:hooks))
  @plugin = :pulsar

  assign_attributes(opts)

  remove_empty_instance_variables!
end

Public Instance Methods

assign_attributes(opts) click to toggle source
# File lib/mqjob.rb, line 80
def assign_attributes(opts)
  opts.each do |k, v|
    method = "#{k}="
    next unless self.respond_to?(method)
    self.public_send method, v
  end
end
hooks=(v) click to toggle source
# File lib/mqjob.rb, line 63
def hooks=(v)
  @hooks.update(v)
end
logger=(v) click to toggle source
# File lib/mqjob.rb, line 67
    def logger=(v)
      # fvcking Concurrent::Logging
      unless v.respond_to?(:call)
        v.class.class_eval <<-RUBY
          def call(level, progname, message, &block)
            add(level, message, progname, &block)
          end
        RUBY
      end
      @logger = v
      Concurrent.global_logger = v
    end

Private Instance Methods

remove_empty_instance_variables!() click to toggle source
# File lib/mqjob.rb, line 89
def remove_empty_instance_variables!
  instance_variables.each do |x|
    remove_instance_variable(x) if instance_variable_get(x).nil?
  end
end