class Nanoc::Core::CompilationStages::Cleanup

Public Class Methods

new(output_dirs) click to toggle source
# File lib/nanoc/core/compilation_stages/cleanup.rb, line 7
def initialize(output_dirs)
  @output_dirs = output_dirs
end

Public Instance Methods

run() click to toggle source
# File lib/nanoc/core/compilation_stages/cleanup.rb, line 11
def run
  cleanup_temps(Nanoc::Core::Filter::TMP_BINARY_ITEMS_DIR)
  cleanup_temps(Nanoc::Core::ItemRepWriter::TMP_TEXT_ITEMS_DIR)
  cleanup_unused_stores
  cleanup_old_stores
end

Private Instance Methods

cleanup_old_stores() click to toggle source
# File lib/nanoc/core/compilation_stages/cleanup.rb, line 32
def cleanup_old_stores
  %w[checksums compiled_content dependencies outdatedness action_sequence].each do |fn|
    full_fn = File.join('tmp', fn)
    if File.file?(full_fn)
      FileUtils.rm_f(full_fn)
    end
  end
end
cleanup_temps(dir) click to toggle source
# File lib/nanoc/core/compilation_stages/cleanup.rb, line 20
def cleanup_temps(dir)
  Nanoc::Core::TempFilenameFactory.instance.cleanup(dir)
end
cleanup_unused_stores() click to toggle source
# File lib/nanoc/core/compilation_stages/cleanup.rb, line 24
def cleanup_unused_stores
  used_paths = @output_dirs.map { |d| Nanoc::Core::Store.tmp_path_prefix(d) }
  all_paths = Dir.glob('tmp/nanoc/*')
  (all_paths - used_paths).each do |obsolete_path|
    FileUtils.rm_rf(obsolete_path)
  end
end