Document download strategy interface

This commit is contained in:
Jack Nagel 2014-12-23 01:04:44 -05:00
parent 5575fb843c
commit 957ef9b6b9

View File

@ -13,6 +13,23 @@ class AbstractDownloadStrategy
@meta = resource.specs
end
# Download and cache the resource as {#cached_location}.
def fetch
end
# Unpack {#cached_location} into the current working directory.
def stage
end
# The path to the cached file or directory associated with the resource.
def cached_location
end
# Remove {#cached_location} and any other files associated with the resource
# from the cache.
def clear_cache
end
def expand_safe_system_args args
args = args.dup
args.each_with_index do |arg, ii|
@ -34,12 +51,6 @@ class AbstractDownloadStrategy
safe_system(*expand_safe_system_args(args))
end
# All download strategies are expected to implement these methods
def fetch; end
def stage; end
def cached_location; end
def clear_cache; end
private
def xzpath