Module: Kungfuig::Worker

Defined in:
lib/kungfuig/jobber.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object



16
17
18
19
# File 'lib/kungfuig/jobber.rb', line 16

def self.prepended base
  fail JobberError.new("Must be prepended to class defining ‘perform’ method!") unless base.instance_methods.include?(:perform)
  base.send(:include, Sidekiq::Worker) unless base.ancestors.include? Sidekiq::Worker
end

Instance Method Details

#perform(*args, **params) ⇒ Object



21
22
23
24
25
26
# File 'lib/kungfuig/jobber.rb', line 21

def perform *args, **params
  args.select { |arg| arg.is_a?(Hash) }.each do |arg|
    params.merge! args.delete(arg).map { |k, v| [k.to_sym, v] }.to_h
  end
  super(*args, **params)
end