class KuberKit::Tools::BuildDirCleaner

Constants

KEEP_DIRS_COUNT

Public Instance Methods

call(parent_dir:) click to toggle source
# File lib/kuber_kit/tools/build_dir_cleaner.rb, line 9
def call(parent_dir:)
  dirs_to_delete = get_ancient_builds_dirs(parent_dir: parent_dir)

  dirs_to_delete.each do |dir|
    bash_commands.rm_rf(local_shell, dir)
  end
end

Private Instance Methods

get_ancient_builds_dirs(parent_dir:) click to toggle source
# File lib/kuber_kit/tools/build_dir_cleaner.rb, line 18
def get_ancient_builds_dirs(parent_dir:)
  all_dirs  = Dir.glob("#{parent_dir}/*")
  skip_dirs = all_dirs
    .sort_by{ |f| File.ctime(f) }
    .reverse[0...KEEP_DIRS_COUNT]

  all_dirs - skip_dirs
end