module SidekiqUniqueRetries
Attributes
adapter[R]
Public Class Methods
adapter=(name)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 10 def adapter=(name) @adapter = adapter_for(name) end
lock(item)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 18 def lock(item) Lock.new(item, adapter).acquire end
lockable?(item)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 14 def lockable?(item) adapter.lockable?(item) end
unlock(item)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 22 def unlock(item) Lock.new(item, adapter).release end
Private Class Methods
adapter_for(object)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 28 def adapter_for(object) case object when Symbol load_adapter(object) build_adapter(object) else object end end
build_adapter(name)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 42 def build_adapter(name) class_name = name.to_s.split('_').map(&:capitalize).join klass = self::Adapters.const_get(class_name, false) klass.new end
load_adapter(name)
click to toggle source
# File lib/sidekiq_unique_retries.rb, line 38 def load_adapter(name) require "sidekiq_unique_retries/adapters/#{name}" end