module Dl def self.download(url, raw = false) if !(url =~ /^https?:/i) parsed_url = "http://" + url end output "Downloading #{url}..." parsed_url = URI.parse(parsed_url) req = Net::HTTP::Get.new(parsed_url.path.empty? ? '/' : parsed_url.path) res = Net::HTTP.start(parsed_url.host, parsed_url.port) {|http| http.request(req) } output "#{url} downloaded to the file #{url.split("/").last}" if raw == true puts res.body else File.new(url.split("/").last, "w").write(res.body) end end private def self.output(string) puts string unless Dl::be_quiet == true end end