lib/nanoc/base/services/pruner.rb in nanoc-4.9.4 vs lib/nanoc/base/services/pruner.rb in nanoc-4.9.5
- old
+ new
@@ -23,14 +23,14 @@
@dry_run = dry_run
@exclude = Set.new(exclude)
end
def run
- return unless File.directory?(@config[:output_dir])
+ return unless File.directory?(@config.output_dir)
compiled_files = @reps.flat_map { |r| r.raw_paths.values.flatten }.compact
- present_files, present_dirs = files_and_dirs_in(@config[:output_dir] + '/')
+ present_files, present_dirs = files_and_dirs_in(@config.output_dir + '/')
remove_stray_files(present_files, compiled_files)
remove_empty_directories(present_dirs)
end
@@ -40,12 +40,12 @@
@exclude.any? { |e| pathname_components(pathname).include?(e) }
end
contract String => String
def strip_output_dir(filename)
- if filename.start_with?(@config[:output_dir])
- filename[@config[:output_dir].size..-1]
+ if filename.start_with?(@config.output_dir)
+ filename[@config.output_dir.size..-1]
else
filename
end
end
@@ -75,9 +75,10 @@
# @api private
def remove_empty_directories(present_dirs)
present_dirs.reverse_each do |dir|
next if Dir.foreach(dir) { |n| break true if n !~ /\A\.\.?\z/ }
next if filename_excluded?(dir)
+
delete_dir(dir)
end
self
end