class Counter::Cache::Counters::BufferCounter::Enqueuer

Public Instance Methods

enqueue!(source_object) click to toggle source
# File lib/counter/cache/counters/buffer_counter/enqueuer.rb, line 6
def enqueue!(source_object)
  create_and_enqueue(options.wait(source_object), options.cached?)
  create_and_enqueue(options.recalculation_delay, false) if options.recalculation?
end

Private Instance Methods

create_and_enqueue(delay, cached) click to toggle source
# File lib/counter/cache/counters/buffer_counter/enqueuer.rb, line 13
def create_and_enqueue(delay, cached)
  parameters = { relation_class_name: relation_class,
                 relation_id: relation_id,
                 column: options.column,
                 method: options.method,
                 cache: cached,
                 counter: counter_class_name }
  parameters[:touch_column] = options.touch_column unless options.touch_column.nil?
  options.worker_adapter.enqueue(delay,
                                 source_object_class_name,
                                 parameters)
end