bin/crf
#!/usr/bin/env ruby
require 'crf'
require 'crf/version'
require 'optparse'
options = { interactive: true, progress: true, fast: false }
parser = OptionParser.new do |opts|
opts.banner = 'Usage: crf PATH [-f] [-n] [-o]'
opts.on('-f', '--fast', 'Only checks for files of the same size') do
options[:fast] = true
end
opts.on('-n', '--no-interactive', 'Saves the first file and removes all the repetitions without asking') do
options[:interactive] = false
end
opts.on('-o', '--no-progress', 'Hides the progress bar while executing') do
options[:progress] = false
end
opts.on('-v', '--version', 'Displays version') do
puts "CRF Version: #{Crf::VERSION}"
exit
end
opts.on('-h', '--help', 'Displays help') do
puts opts
exit
end
end
parser.parse!
paths = []
ARGV.each { |arg| paths << arg if File.directory?(arg) }
if paths.empty?
STDOUT.puts 'No directory specified.'
else
Crf::Checker.new(paths, options).check_repeated_files
end