class FreshRedis

Public Class Methods

freshen(name, expire_age = nil, format = :ruby, &blk) click to toggle source
# File lib/fresh_redis.rb, line 7
def self.freshen(name, expire_age = nil, format = :ruby, &blk)
  self.unset(name) if self.skip_cache?

  unless contents = $redis.get(name)
    contents = self.set(name, blk.call())
    $redis.expire(name, expire_age.seconds) if expire_age
  end

  contents = JSON.parse(contents) unless (format == :json)

  return contents
end
get(name) click to toggle source
# File lib/fresh_redis.rb, line 2
def self.get(name)
  content = $redis.get(name)
  return content.present? ? JSON.parse(content) : content
end
set(name, contents) click to toggle source
# File lib/fresh_redis.rb, line 20
def self.set(name, contents)
  contents = JSON.generate(contents)
  $redis.set(name, contents)

  return contents
end
unset(name) click to toggle source
# File lib/fresh_redis.rb, line 27
def self.unset(name)
  return $redis.del(name) == 1
end

Private Class Methods

skip_cache?() click to toggle source
# File lib/fresh_redis.rb, line 33
def self.skip_cache?
  false
end