Sha256: cd31f99e5eb7c283a3024d27a3b63cfe099dc3a8768e736e9e881bdc448bb115
Contents?: true
Size: 700 Bytes
Versions: 2
Compression:
Stored size: 700 Bytes
Contents
require 'active_support' require 'active_job/base' require 'activejob/lock/version' require 'activejob/lock/queue_adapters' require 'active_support/concern' module ActiveJob module Lock extend ActiveSupport::Concern module ClassMethods def lock_with(lock = nil, &block) if block_given? self.lock = block else self.lock = lock end end end included do class_attribute :lock end def apply_lock suffix = if lock.is_a?(Proc) deserialize_arguments_if_needed lock.call(*arguments) else lock end "#{self.class.name}-#{suffix}" end end Base.include(Lock) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activejob-lock-0.0.2 | lib/activejob/lock.rb |
activejob-lock-0.0.1 | lib/activejob/lock.rb |