Sha256: 5cb5487d091360caf8a23d30fc514d606520cc67929df1a32fa60014a6317f58

Contents?: true

Size: 424 Bytes

Versions: 1

Compression:

Stored size: 424 Bytes

Contents

module CouchRest
  module Model

    # Simple Server Pool with thread safety so that a single server
    # instance can be shared with multiple classes.
    class ServerPool
      include Singleton

      def initialize
        @servers = {}
        @mutex = Mutex.new
      end

      def [](url)
        @mutex.synchronize do
          @servers[url] ||= CouchRest::Server.new(url)
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
couchrest_model-2.2.0.beta2 lib/couchrest/model/server_pool.rb