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