class FileGrabber::Grab
Public Class Methods
new()
click to toggle source
# File lib/filegrabber/grab.rb, line 23 def initialize @grabs = {} instance_eval File.read(CONFIG_FILENAME) end
Public Instance Methods
download(link_selector)
click to toggle source
# File lib/filegrabber/grab.rb, line 50 def download link_selector @docpages.each do |page| link = page.link(link_selector) DownloadedDocument.new(page.filename).download do RemoteDocument.new(link).download end.tap do |doc| Log.info "Done. File size: #{doc.size}" if doc.download_failed? Log.warn "Download failed. Retry on next run." end end end end
grab(name)
click to toggle source
# File lib/filegrabber/grab.rb, line 32 def grab name instance_eval &@grabs[name] end
grabber(name, &block)
click to toggle source
# File lib/filegrabber/grab.rb, line 28 def grabber name, &block @grabs[name] = block end
index(url, link_selector)
click to toggle source
# File lib/filegrabber/grab.rb, line 44 def index url, link_selector @docpages = IndexPage.new(url, 'index.html') .links(link_selector) .map { |link| DocumentPage.new(link) } end
set_http_basic_password(value)
click to toggle source
# File lib/filegrabber/grab.rb, line 40 def set_http_basic_password value HTTP_BASIC_AUTH[:password] = value end
set_http_basic_username(value)
click to toggle source
# File lib/filegrabber/grab.rb, line 36 def set_http_basic_username value HTTP_BASIC_AUTH[:username] = value end