Module: FindDuplicates
- Defined in:
- lib/find-duplicates.rb
Defined Under Namespace
Classes: DummyBar, Groups, PolicyLeaveLongest
Instance Method Summary collapse
Instance Method Details
#find_duplicates(options, paths) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/find-duplicates.rb', line 57 def find_duplicates(, paths) groups = Groups.new files = paths.map { |path| Dir.glob(path + '/**/*') }.flatten = [:bar].call files.size files.each do |file| .increment next if File.directory?(file) groups.add file end groups.duplicates.each do |k,group| death_queue = [:remove_policy].choose_to_die(group) survivor = [death_queue.first] death_queue = death_queue.slice(1..-1) if [:dry] puts (survivor + death_queue.map { |s| " " + s }).join("\n") else death_queue.each { |file| File.delete file } end end end |