class Capacitor::CounterCache
Public: The public interface to incrementing and decrementing the counter cache
klass - ActiveRecord class id - record id column - counter column symbol
Attributes
classname[RW]
column[RW]
id[RW]
Public Class Methods
new(klass, id, column)
click to toggle source
# File lib/capacitor/counter_cache.rb, line 8 def initialize(klass, id, column) @classname = klass.to_s @id = id.to_s @column = column end
Public Instance Methods
decrement()
click to toggle source
Public: decrement `column` by 1
Returns: nothing
# File lib/capacitor/counter_cache.rb, line 24 def decrement enqueue_count_change -1 end
increment()
click to toggle source
Public: increment `column` by 1
Returns: nothing
# File lib/capacitor/counter_cache.rb, line 17 def increment enqueue_count_change 1 end
Private Instance Methods
counter_id()
click to toggle source
# File lib/capacitor/counter_cache.rb, line 50 def counter_id [classname, id, column.to_s].join(':') end
enqueue_count_change(delta)
click to toggle source
# File lib/capacitor/counter_cache.rb, line 40 def enqueue_count_change(delta) responses = redis.pipelined do redis.hincrby "incoming_hash", counter_id, delta redis.lpush "incoming_signal_list", counter_id redis.get "log_level" end Capacitor.log_level= responses.last logger.debug "enqueue_count_change #{counter_id} #{delta}" end
logger()
click to toggle source
# File lib/capacitor/counter_cache.rb, line 36 def logger Capacitor.logger end
redis()
click to toggle source
# File lib/capacitor/counter_cache.rb, line 32 def redis Capacitor.redis end