29 lines
518 B
Ruby
Raw Normal View History

2016-08-18 22:11:42 +03:00
class Hbc::Source::URI
def self.me?(query)
!(query.to_s =~ URI.regexp).nil?
end
attr_reader :uri
def initialize(uri)
@uri = uri
end
def load
Hbc.cache.mkpath
path = Hbc.cache.join(File.basename(uri))
ohai "Downloading #{uri}"
odebug "Download target -> #{path}"
begin
curl(uri, "-o", path.to_s)
rescue ErrorDuringExecution
raise Hbc::CaskUnavailableError, uri
end
Hbc::Source::PathSlashOptional.new(path).load
end
def to_s
uri.to_s
end
end