class ActiveJob::Locking::Options

Attributes

adapter[RW]
adapter_options[RW]
enqueue_time[RW]
hosts[RW]
lock_acquire_time[RW]
lock_time[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/activejob/locking/options.rb, line 13
def initialize(options = {})
  @adapter = options[:adapter]
  @hosts = options[:hosts]
  @enqueue_time = options[:enqueue_time]
  @lock_time = options[:lock_time]
  @lock_acquire_time = options[:lock_acquire_time]
  @adapter_options = options[:adapter_options]
end

Public Instance Methods

enqueue_time=(value) click to toggle source
# File lib/activejob/locking/options.rb, line 22
def enqueue_time=(value)
  case value
    when NilClass
      raise(ArgumentError, 'Enqueue time must be set')
    when ActiveSupport::Duration
      @enqueue_time = value.value
    when 0
      raise(ArgumentError, 'Enqueue time must be greater than zero')
    else
      @enqueue_time = value
  end
end
lock_acquire_time=(value) click to toggle source
# File lib/activejob/locking/options.rb, line 48
def lock_acquire_time=(value)
  case value
    when NilClass
      raise(ArgumentError, 'Lock acquire time must be set')
    when ActiveSupport::Duration
      @lock_acquire_time = value.value
    when 0
      raise(ArgumentError, 'Lock acquire time must be greater than zero')
    else
      @lock_acquire_time = value
  end
end
lock_time=(value) click to toggle source
# File lib/activejob/locking/options.rb, line 35
def lock_time=(value)
  case value
    when NilClass
      raise(ArgumentError, 'Lock time must be set')
    when ActiveSupport::Duration
      @lock_time = value.value
    when 0
      raise(ArgumentError, 'Lock time must be greater than zero')
    else
      @lock_time = value
  end
end
merge(other) click to toggle source
# File lib/activejob/locking/options.rb, line 61
def merge(other)
  result = self.dup
  result.adapter = other.adapter if other.adapter
  result.hosts = other.hosts if other.hosts
  result.enqueue_time = other.enqueue_time if other.enqueue_time
  result.lock_time = other.lock_time if other.lock_time
  result.lock_acquire_time = other.lock_acquire_time if other.lock_acquire_time
  result.adapter_options = other.adapter_options if other.adapter_options
  result
end