Module: Sidekiq::JobSet::UniqueExtension

Included in:
Sidekiq::JobSet
Defined in:
lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb', line 99

def self.included(base)
  base.class_eval do
    include SidekiqUniqueJobs::Unlockable
    if base.method_defined?(:clear)
      alias_method :clear_orig, :clear
      alias_method :clear, :clear_ext
    end

    if base.method_defined?(:delete_by_value)
      alias_method :delete_by_value_orig, :delete_by_value
      alias_method :delete_by_value, :delete_by_value_ext
    end
  end
end

Instance Method Details

#clear_extObject



114
115
116
117
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb', line 114

def clear_ext
  each(&:delete)
  clear_orig
end

#delete_by_value_ext(name, value) ⇒ Object



119
120
121
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb', line 119

def delete_by_value_ext(name, value)
  SidekiqUniqueJobs::Unlockable.unlock(Sidekiq.load_json(value)) if delete_by_value_orig(name, value)
end