Sha256: f2dee4d518358c127eb38b408fa0affa5697a1cf0edfd5c0eb21aa32ce1e1579

Contents?: true

Size: 782 Bytes

Versions: 3

Compression:

Stored size: 782 Bytes

Contents

require 'connection_pool'
require 'redis'
require 'redis-namespace'

module HellaRedis

  module Connection

    def self.new(config)
      config = Config.new(config) if config.kind_of?(::Hash)
      ::ConnectionPool.new(:timeout => config.timeout, :size => config.size) do
        ::Redis::Namespace.new(config.redis_ns, {
          :redis => ::Redis.new({
            :url    => config.url,
            :driver => config.driver
          })
        })
      end
    end

    class Config
      attr_reader :url, :driver, :redis_ns, :timeout, :size

      def initialize(args)
        @url      = args[:url]
        @driver   = args[:driver]
        @redis_ns = args[:redis_ns]
        @timeout  = args[:timeout]
        @size     = args[:size] || 1
      end
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hella-redis-0.3.1 lib/hella-redis/connection.rb
hella-redis-0.3.0 lib/hella-redis/connection.rb
hella-redis-0.2.1 lib/hella-redis/connection.rb