Class: Downer::DownloadWorker

Inherits:
Object
  • Object
show all
Defined in:
lib/downer/download_worker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(urls, target_directory, output) ⇒ DownloadWorker

Returns a new instance of DownloadWorker.



6
7
8
9
10
11
12
13
14
# File 'lib/downer/download_worker.rb', line 6

def initialize(urls, target_directory, output)
  @urls, @target_directory, @output = urls, target_directory, output
  @urls.delete_if { |url| url == nil }
  @items = []
  @successful_downloads = []
  @failed_downloads = []
  
  @urls.each { |url| @items << DownloadItem.new(url, target_directory) }
end

Instance Attribute Details

#failed_downloadsObject (readonly)

Returns the value of attribute failed_downloads.



4
5
6
# File 'lib/downer/download_worker.rb', line 4

def failed_downloads
  @failed_downloads
end

#itemsObject (readonly)

Returns the value of attribute items.



4
5
6
# File 'lib/downer/download_worker.rb', line 4

def items
  @items
end

#successful_downloadsObject (readonly)

Returns the value of attribute successful_downloads.



4
5
6
# File 'lib/downer/download_worker.rb', line 4

def successful_downloads
  @successful_downloads
end

Instance Method Details

#startObject



16
17
18
19
20
21
22
23
24
# File 'lib/downer/download_worker.rb', line 16

def start
  if @urls.empty?
    @output.puts "No URLs specified, exiting." 
    return
  end
  
  @items.each { |item| try_download_item(item) }
  successful_downloads
end