Sha256: 7053e227a653473a19c642bd486022cce065fb85346c6104d1da0bfda780afc8

Contents?: true

Size: 823 Bytes

Versions: 4

Compression:

Stored size: 823 Bytes

Contents

class Indocker::ServerPool
  def initialize(configuration:, logger:)
    @logger = logger
    @configuration = configuration

    @contexts = configuration.servers.map do |server|
      Indocker::DeployContext.new(
        logger: @logger,
        configuration: configuration,
        server: server,
      )
    end
  end

  def create_sessions!
    @contexts.each(&:create_session!)
  end

  # NOTE: get is a bad name here, because we create a new connection.
  # TODO: why we create a new connection here?
  def get(server)
    context = Indocker::DeployContext.new(
      logger: @logger,
      configuration: @configuration,
      server: server,
    )
    context.create_session!
    context
  end

  def each(&proc)
    @contexts.each(&proc)
  end

  def close_sessions
    @contexts.each(&:close_session)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
indocker-0.1.12 lib/indocker/server_pool.rb
indocker-0.1.11 lib/indocker/server_pool.rb
indocker-0.1.10 lib/indocker/server_pool.rb
indocker-0.1.9 lib/indocker/server_pool.rb