class Rack::MiniProfiler::RedisStore

Constants

EXPIRES_IN_SECONDS

Public Class Methods

new(args = nil) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 7
def initialize(args = nil)
  @args = args || {}
  @prefix = @args.delete(:prefix) || 'MPRedisStore'
  @redis_connection = @args.delete(:connection)
  @expires_in_seconds = @args.delete(:expires_in) || EXPIRES_IN_SECONDS
end

Public Instance Methods

diagnostics(user) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 37
      def diagnostics(user)
"Redis prefix: #{@prefix}
Redis location: #{redis.client.host}:#{redis.client.port} db: #{redis.client.db}
unviewed_ids: #{get_unviewed_ids(user)}
"
      end
get_unviewed_ids(user) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 33
def get_unviewed_ids(user)
  redis.smembers "#{@prefix}-#{user}-v"
end
load(id) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 18
def load(id)
  raw = redis.get "#{@prefix}#{id}"
  if raw
    Marshal::load raw
  end
end
save(page_struct) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 14
def save(page_struct)
  redis.setex "#{@prefix}#{page_struct['Id']}", @expires_in_seconds, Marshal::dump(page_struct) 
end
set_unviewed(user, id) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 25
def set_unviewed(user, id)
  redis.sadd "#{@prefix}-#{user}-v", id
end
set_viewed(user, id) click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 29
def set_viewed(user, id)
  redis.srem "#{@prefix}-#{user}-v", id
end