class Qmin::Qmin

Handles configuration and dispatches method calls to configured strategy

Public Class Methods

background_call(instance, method_name) click to toggle source
# File lib/qmin/qmin.rb, line 33
def background_call(instance, method_name)
  current.background_call(instance, method_name)
end
current() click to toggle source
# File lib/qmin/qmin.rb, line 25
def current
  @current ||= new
end
default_reporter() click to toggle source
# File lib/qmin/qmin.rb, line 11
def default_reporter
  @default_reporter || Reporting::Inline
end
default_reporter=(reporter) click to toggle source
# File lib/qmin/qmin.rb, line 6
def default_reporter=(reporter)
  @default_reporter = reporter
  @current = nil # reset current, so the newly set reporter is used
end
default_strategy() click to toggle source
# File lib/qmin/qmin.rb, line 21
def default_strategy
  @default_strategy || Strategy::Inline
end
default_strategy=(strategy) click to toggle source

configure default strategy

# File lib/qmin/qmin.rb, line 16
def default_strategy=(strategy)
  @default_strategy = strategy
  @current = nil  # reset current, so the newly set strategy is used
end
enqueue(worker_class, *args) click to toggle source
# File lib/qmin/qmin.rb, line 29
def enqueue(worker_class, *args)
  current.enqueue worker_class, *args
end
new() click to toggle source
# File lib/qmin/qmin.rb, line 38
def initialize
  @strategy = self.class.default_strategy.new
  @reporter = self.class.default_reporter.new
end

Public Instance Methods

background_call(instance, method_name) click to toggle source
# File lib/qmin/qmin.rb, line 47
def background_call(instance, method_name)
  @strategy.background_call(instance, method_name)
end
enqueue(worker_class, *args) click to toggle source
# File lib/qmin/qmin.rb, line 43
def enqueue(worker_class, *args)
  @strategy.enqueue worker_class, *args
end
report(exception) click to toggle source
# File lib/qmin/qmin.rb, line 51
def report(exception)
  @reporter.report(exception)
end