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 39 40 41 |
# 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 # Can't use fetch as Trollop sets :id to nil id = @opts[:id] ||( latest_id :name => @opts[:name], :config => @config) @archive = Archive.new :name => @opts[:name], :config => @config, :id => id unless @opts[:bucket_prefix] ensure_archive_exists :archive => @archive, :config => @config end # Lookup region & bucket_prefix from simpledb unless specified # To Do, valid validation message that simpledb exists @region = @opts[:region] || @catalog.regions.first @bucket_prefix = @opts[:bucket_prefix] || @catalog.bucket_prefix 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
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/heirloom/cli/download.rb', line 43 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 |