Class: Heirloom::CLI::Cleanup

Inherits:
Object
  • Object
show all
Includes:
Shared
Defined in:
lib/heirloom/cli/cleanup.rb

Class Method Summary collapse

Instance Method Summary collapse

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

#initializeCleanup

Returns a new instance of Cleanup.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/heirloom/cli/cleanup.rb', line 11

def initialize
  @opts   = read_options
  @config = load_config :opts => @opts, :logger => Heirloom.log

  Heirloom.log.level = @opts[:log_level]

  ensure_valid_options :provided => @opts,
                       :required => [:name],
                       :config   => @config

   @config

  ensure_domain_exists :name   => @opts[:name],
                       :config => @config
end

Class Method Details

.command_summaryObject



7
8
9
# File 'lib/heirloom/cli/cleanup.rb', line 7

def self.command_summary
  "Delete old heirlooms not tagged with 'preserve': true"
end

Instance Method Details

#cleanupObject



27
28
29
30
31
32
33
# File 'lib/heirloom/cli/cleanup.rb', line 27

def cleanup
  cat = Heirloom::Catalog.new :name => @opts[:name], :config => @config
  cat.cleanup :num_to_keep => @opts[:keep]
rescue Heirloom::Exceptions::CleanupFailed => e
  Heirloom.log.error e.message
  exit 1
end