class NauktisUtils::Duplicate::HandlingStrategy::NoDeleteIn

Public Class Methods

new(deleting_strategy, directories) click to toggle source
# File lib/nauktis_utils/duplicate.rb, line 61
def initialize(deleting_strategy, directories)
  super(deleting_strategy)
  @directories = directories.map { |d| File.expand_path(d) }
end

Public Instance Methods

handle(files) click to toggle source
# File lib/nauktis_utils/duplicate.rb, line 66
def handle(files)
  files = files.sort
  files_kept, files_deleted = files.partition do |e|
    @directories.any? {|d| e.start_with?(d) }
  end
  if files_kept.size > 0
    files_deleted.each do |duplicate|
      @deleting_strategy.delete_duplicate(duplicate, files_kept.first)
    end
  end
end