Class: FtpMultipartDownload::ConnectionPool

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/ftp_multipart_download/connection_pool.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(size, *argv) ⇒ ConnectionPool

Returns a new instance of ConnectionPool.

Parameters:

  • size (Integer)

    number of connections.

  • argv (Array)

    argument values for Net::FTP#initialize.



10
11
12
13
14
15
16
17
18
# File 'lib/ftp_multipart_download/connection_pool.rb', line 10

def initialize(size, *argv)
  @errors = []
  @connection_pool = Array.new(size) do
    Net::FTP.new(*argv).yield_self { |c| c.closed? ? nil : c }
  rescue => e
    errors << e
    nil
  end.compact
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



5
6
7
# File 'lib/ftp_multipart_download/connection_pool.rb', line 5

def errors
  @errors
end

Instance Method Details

#each {|connection| ... } ⇒ Object

Yields:

  • (connection)

    gives an instance of Net::FTP which connected

Yield Parameters:

  • an (Net::FTP)

    instance of Net::FTP which connected



25
26
27
# File 'lib/ftp_multipart_download/connection_pool.rb', line 25

def each(&block)
  @connection_pool.each(&block)
end