Module: Dapp::Dimg::Dapp::Command::Stages::CleanupRepo

Included in:
Dapp
Defined in:
lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb

Instance Method Summary collapse

Instance Method Details

#stages_cleanup_repoObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb', line 7

def stages_cleanup_repo
  lock_repo(repo = option_repo) do
    raise Error::Command, code: :stages_cleanup_required_option unless stages_cleanup_option?

    registry    = registry(repo)
    repo_dimgs  = repo_dimgs_images(registry)
    repo_dimgstages = repo_dimgstages_images(registry)

    repo_dimgstages.delete_if { |dimgstage| repo_dimgs.any? { |dimg| dimgstage[:id] == dimg[:id] } } # ignoring stages with dimgs ids (v2)

    proper_repo_cache(registry, repo_dimgstages)                   if proper_cache_version?
    repo_dimgstages_cleanup(registry, repo_dimgs, repo_dimgstages) if proper_repo_cache?
    proper_repo_git_commit(registry)                               if proper_git_commit?
  end
end