module Sidekiq::Apriori::ClassMethods
Public Instance Methods
perform(*args)
click to toggle source
Calls superclass method
# File lib/sidekiq-apriori/worker.rb, line 16 def perform(*args) super(*args) rescue ArgumentError => err raise err unless has_priority?(args.last) super(*args[0..-2]) end
Private Instance Methods
has_priority?(options)
click to toggle source
# File lib/sidekiq-apriori/worker.rb, line 23 def has_priority?(options) return false unless hashlike?(options) stringify_keys(options).has_key?('priority') end
hashlike?(hashish)
click to toggle source
# File lib/sidekiq-apriori/worker.rb, line 42 def hashlike?(hashish) [ :keys, :has_key?, :[] ]. map { |method| hashish.respond_to?(method) }.all? end
stringify_keys(hashish)
click to toggle source
# File lib/sidekiq-apriori/worker.rb, line 29 def stringify_keys(hashish) duplicate = hashish.dup if hashlike?(hashish) duplicate.keys.each do |key| duplicate[key.to_s] = duplicate.delete(key) end end duplicate end