Document download strategy interface
This commit is contained in:
		
							parent
							
								
									5575fb843c
								
							
						
					
					
						commit
						957ef9b6b9
					
				@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user