Sha256: 7328befbe19b1e9396e869425f3c84c21b201e9cc60e4320f366f5773505dde6

Contents?: true

Size: 813 Bytes

Versions: 1

Compression:

Stored size: 813 Bytes

Contents

require 'redis'
require 'forwardable'

class Backend
  extend SingleForwardable

  def_delegators :redis, :get, :set, :info, :keys, :dbsize, :select

  def self.config(arguments)
    @@host = arguments[:redis_host]
    @@port = arguments[:redis_port]
  end

  def self.host
    @@host
  end

  def self.port
    @@port
  end

  def self.redis
    @@redis ||= Redis.new(:host => host, :port => port)
  end

  def self.performance_stats
    PerformanceStats.new(self).results
  end

  def self.search(key)
    keys(key).map{|found| {key: found, value: get(found)} }
  end

  def self.change_database(*args)
    select(*args)
  end

  def self.remove(key)
    redis.del(key) if Authorization.authorized_for?(:remove_content)
  end

  def self.databases
    info.keys.map{|d| d.match(/db(\d+)/);$1}.compact
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redis_monitor-0.2 lib/engine/app/lib/backend.rb