Class: Heirloom::CLI::Download
- Inherits:
-
Object
- Object
- Heirloom::CLI::Download
- Includes:
- Shared
- Defined in:
- lib/heirloom/cli/download.rb
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_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.
7 8 9 10 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 |
# File 'lib/heirloom/cli/download.rb', line 7 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 |
Instance Method Details
#download ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/heirloom/cli/download.rb', line 39 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 |