Sha256: 62c0cfb8ff8bb2e9d9d8b5435c7e56a592a68bac4d34dc401ee43d1b786662f3

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

#require 'redis/connection'
require 'redis'

module Auger

  class Project
    def redis(port = 6379, &block)
      @connections << Auger::Redis.load(port, &block)
    end
  end

  class Redis < Auger::Connection
    def open(host, options)
      ::Redis.new options.merge({:host => host, :thread_safe => true})
    end

    def close(redis)
      redis.quit
    end

    def ping(&block)
      @requests << Auger::RedisPing.load(nil, &block)
    end

    def info(&block)
      @requests << Auger::RedisInfo.load(nil, &block)
    end

    def dbsize(&block)
      @requests << Auger::RedisDbsize.load(nil, &block)
    end

    def get(key, &block)
      @requests << Auger::RedisGet.load(key, &block)
    end

    def exists(key, &block)
      @requests << Auger::RedisExists.load(key, &block)
    end

  end

  class RedisPing < Auger::Request
    def run(redis)
      redis.ping
    end
  end

  class RedisInfo < Auger::Request
    def run(redis)
      redis.info
    end
  end

  class RedisDbsize < Auger::Request
    def run(redis)
      redis.dbsize
    end
  end

  class RedisGet < Auger::Request
    def run(redis)
      redis.get(@arg)
    end
  end

  class RedisExists < Auger::Request
    def run(redis)
      redis.exists(@arg)
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
auger-1.3.0 lib/plugins/redis.rb
auger-1.2.4 lib/plugins/redis.rb
auger-1.2.3 lib/plugins/redis.rb
auger-1.2.2 lib/plugins/redis.rb
auger-1.2.0 lib/plugins/redis.rb