Sha256: 926a87cdf060c20b9b6fce76c2fee72be5c7e4a1ed05c4e0df74c4eadb416d04

Contents?: true

Size: 816 Bytes

Versions: 1

Compression:

Stored size: 816 Bytes

Contents

class Indocker::ServerPools::DeployServerPool
  def initialize(configuration:, logger:)
    @logger = logger
    @configuration = configuration
    @connections = []
  end

  def create_connection!(server)
    connection = @connections.detect do |connection|
      connection.server.host == server.host &&
      connection.server.port == server.port &&
      connection.server.user == server.user
    end
    if connection.nil?
      connection = Indocker::ServerPools::DeployServerConnection.new(
        logger: @logger,
        configuration: @configuration,
        server: server,
      )
      connection.create_session!
      @connections.push(connection)
    end
    connection
  end

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

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
indocker-0.1.13 lib/indocker/server_pools/deploy_server_pool.rb