blob: 99bc506880c3bfff0a9ee8892144ba4a069012a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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
|