Class: Heirloom::CLI::Download
- Inherits:
-
Object
- Object
- Heirloom::CLI::Download
- Includes:
- Shared
- Defined in:
- lib/heirloom/cli/download.rb
Class Method Summary collapse
Instance Method Summary collapse
- #download ⇒ Object
-
#initialize ⇒ Download
constructor
A new instance of Download.
Methods included from Shared
#ensure_archive_domain_empty, #ensure_archive_exists, #ensure_buckets_available, #ensure_buckets_exist, #ensure_catalog_domain_exists, #ensure_directory_is_writable, #ensure_domain_exists, #ensure_entry_does_not_exist_in_catalog, #ensure_entry_exists_in_catalog, #ensure_metadata_in_upload_region, #ensure_path_is_directory, #ensure_valid_bucket_prefix, #ensure_valid_metadata_region, #ensure_valid_name, #ensure_valid_options, #ensure_valid_region, #ensure_valid_regions, #ensure_valid_secret, #latest_id, #load_config, #read_secret
Constructor Details
#initialize ⇒ Download
Returns a new instance of Download.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/heirloom/cli/download.rb', line 11 def initialize @opts = @logger = HeirloomLogger.new :log_level => @opts[:level] @config = load_config :logger => @logger, :opts => @opts :provided => @opts, :required => [:name, :output], :config => @config @catalog = Heirloom::Catalog.new :name => @opts[:name], :config => @config # Determine if we can download directly from S3 # Or if we need to query additional information from the catalog validate_or_bypass_catalog # Lookup id, region & bucket_prefix from simpledb unless specified # Can't use fetch as Trollop sets :id to nil @region = @opts[:region] || @catalog.regions.first @bucket_prefix = @opts[:bucket_prefix] || @catalog.bucket_prefix id = @opts[:id] || (latest_id :name => @opts[:name], :config => @config) @archive = Archive.new :name => @opts[:name], :config => @config, :id => id end |
Class Method Details
.command_summary ⇒ Object
7 8 9 |
# File 'lib/heirloom/cli/download.rb', line 7 def self.command_summary 'Download Heirloom' end |
Instance Method Details
#download ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/heirloom/cli/download.rb', line 40 def download ensure_path_is_directory :path => @opts[:output], :config => @config ensure_directory_is_writable :path => @opts[:output], :config => @config secret = read_secret :opts => @opts, :config => @config archive = @archive.download :output => @opts[:output], :extract => @opts[:extract], :region => @region, :bucket_prefix => @bucket_prefix, :secret => secret exit 1 unless archive end |