class DispatchRider::Configuration

Attributes

additional_info_injector[RW]
callbacks[R]
debug[RW]
error_handler[RW]
handler_path[RW]
log_formatter[RW]
logger[RW]
queue_info[RW]
queue_kind[RW]
subscriber[RW]

Public Class Methods

new() click to toggle source
# File lib/dispatch-rider/configuration.rb, line 16
def initialize
  @handler_path = Dir.getwd + "/app/handlers"
  @error_handler = DispatchRider::DefaultErrorHandler
  @queue_kind = :file_system
  @queue_info = { path: "tmp/dispatch-rider-queue" }
  @callbacks = Callbacks::Storage.new
  @subscriber = DispatchRider::Subscriber
  @log_formatter = DispatchRider::Logging::TextFormatter.new
  @additional_info_injector = -> (data) { data }
  @logger = Logger.new(STDERR)
  @debug = false

  @callbacks.around(:dispatch_message) do |job, message|
    Logging::LifecycleLogger.wrap_handling(message) do
      job.call
    end
  end
end

Public Instance Methods

default_retry_timeout=(val) click to toggle source
# File lib/dispatch-rider/configuration.rb, line 37
def default_retry_timeout=(val)
  DispatchRider::Handlers::Base.set_default_retry(val)
end
handlers() click to toggle source
# File lib/dispatch-rider/configuration.rb, line 41
def handlers
  @handlers ||= begin
    load_handler_files
    DispatchRider::Handlers::Base.subclasses.map { |klass| klass.name.underscore.to_sym }
  end
end

Private Instance Methods

load_handler_files() click to toggle source
# File lib/dispatch-rider/configuration.rb, line 50
def load_handler_files
  Dir["#{@handler_path}/**/*.rb"].each do |filename|
    require filename.gsub(/\.rb$/, '')
  end
end