class Jetel::Downloaders::Curl

Public Instance Methods

download(url, opts = BaseDownloader::OPTS_DOWNLOAD) click to toggle source
# File lib/jetel/downloaders/curl/curl.rb, line 10
def download(url, opts = BaseDownloader::OPTS_DOWNLOAD)
  super

  $stdout.sync = true

  opts = BaseDownloader::OPTS_DOWNLOAD.merge(opts)

  filename = opts[:filename] || url.split('/').last

  cmd = "curl -o \"#{File.join(opts[:dir], filename)}\" #{url}"
  puts(cmd)

  PTY.spawn(cmd) do |stdout, stdin, pid|
    begin
      # Do stuff with the output here. Just printing to show it works
      stdout.each { |line| print line }
    end
  end
end