Module: Resque::Stat

Extended by:
Helpers, Stat
Included in:
Stat
Defined in:
lib/resque/stat.rb

Overview

The stat subsystem. Used to keep track of integer counts.

Get a stat:  Stat[name]
Incr a stat: Stat.incr(name)
Decr a stat: Stat.decr(name)
Kill a stat: Stat.clear(name)

Instance Method Summary collapse

Methods included from Helpers

classify, constantize, decode, encode, redis

Instance Method Details

#<<(stat) ⇒ Object

Increments a stat by one.


31
32
33
# File 'lib/resque/stat.rb', line 31

def <<(stat)
  incr stat
end

#>>(stat) ⇒ Object

Decrements a stat by one.


44
45
46
# File 'lib/resque/stat.rb', line 44

def >>(stat)
  decr stat
end

#[](stat) ⇒ Object

Alias of `get`


18
19
20
# File 'lib/resque/stat.rb', line 18

def [](stat)
  get(stat)
end

#clear(stat) ⇒ Object

Removes a stat from Redis, effectively setting it to 0.


49
50
51
# File 'lib/resque/stat.rb', line 49

def clear(stat)
  redis.del("stat:#{stat}")
end

#decr(stat, by = 1) ⇒ Object

For a string stat name, decrements the stat by one.

Can optionally accept a second int parameter. The stat is then decremented by that amount.


39
40
41
# File 'lib/resque/stat.rb', line 39

def decr(stat, by = 1)
  redis.decrby("stat:#{stat}", by)
end

#get(stat) ⇒ Object

Returns the int value of a stat, given a string stat name.


13
14
15
# File 'lib/resque/stat.rb', line 13

def get(stat)
  redis.get("stat:#{stat}").to_i
end

#incr(stat, by = 1) ⇒ Object

For a string stat name, increments the stat by one.

Can optionally accept a second int parameter. The stat is then incremented by that amount.


26
27
28
# File 'lib/resque/stat.rb', line 26

def incr(stat, by = 1)
  redis.incrby("stat:#{stat}", by)
end