Sha256: c1a1b52019fa7491a0733e1593ccfbc80da213b0871befe868d77e883c49fc57
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
module Resque module UniqueByArity class Cop < Module def initialize(**config) @configuration = Resque::UniqueByArity::Configuration.new(**config) end def included(base) return unless @configuration @configuration.base_klass_name = base.to_s @configuration.validate base.send(:extend, Resque::UniqueByArity) base.uniqueness_config_reset(@configuration.dup) # gem is resque_solo, which is a rewrite of resque-loner # see: https://github.com/neighborland/resque_solo # defines a redis_key method, which we have to override. base.send(:include, Resque::Plugins::UniqueJob) if @configuration.unique_in_queue || @configuration.unique_across_queues # gem is resque-unique_at_runtime, which is a rewrite of resque-lonely_job # see: https://github.com/pboling/resque-unique_at_runtime base.send(:extend, Resque::Plugins::UniqueAtRuntime) if @configuration.unique_at_runtime uniqueness_cop_module = Resque::UniqueByArity::CopModulizer.to_mod(@configuration) # This will override methods from both plugins above, if configured for both base.send(:extend, uniqueness_cop_module) base.include Resque::UniqueByArity::Validation unless @configuration.skip_arity_validation? end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
resque-unique_by_arity-1.0.12 | lib/resque/unique_by_arity/cop.rb |
resque-unique_by_arity-1.0.11 | lib/resque/unique_by_arity/cop.rb |