class Prune::CommandLineInterface
The command-line interface for prune is the primary way to interact with it, although it can be invoked programatically as well.
This class defines the arguments and options taken by Prune
and how it reacts to various forms of command-line input.
Constants
- DEFAULT_OPTIONS
Public Class Methods
make_parser( options )
click to toggle source
# File lib/prune/cli.rb, line 15 def self.make_parser( options ) OptionParser.new do |opts| opts.banner = "Usage: prune [options] folder" opts.on( "-v", "--verbose", "Prints much more frequently during execution about what it's doing." ) { options[:verbose] = true } opts.on( "-d", "--dry-run", "Categorizes files, but does not take any actions on them." ) { options[:dry_run] = true } opts.on( "-f", "--force", "--no-prompt", "Will take action without asking permissions; useful for automation." ) { options[:prompt] = false } opts.on( "-a", "--archive-folder FOLDER", "The folder in which archives should be stored; defaults to <folder>/../<folder-name>-archives." ) { |path| options[:archive_path] = path } opts.on( "--no-archive", "Don't perform archival; typically if the files you're pruning are already compressed." ) { options[:archive] = false } opts.on( "--config", "Configure the retention policy for the specified folder." ) { options[:configure] = true } opts.on_tail( "--version", "Displays version information." ) do options[:did_work] = true print "Prune #{VERSION}, by Geoffrey Wiseman.\n" end opts.on_tail( "-?", "--help", "Shows quick help about using prune." ) do options[:did_work] = true puts opts end end end
parse_and_run()
click to toggle source
# File lib/prune/cli.rb, line 35 def self.parse_and_run options = DEFAULT_OPTIONS.dup parser = make_parser options begin parser.parse! if ARGV.size == 1 then if options[:configure] then configurer = Configurer.new( ARGV.first, options ) configurer.configure else Pruner.new( options ).prune( ARGV.first ) end else print parser.help unless options[:did_work] end rescue OptionParser::ParseError $stderr.print "Error: " + $!.message + "\n" end end