class Nrename::Options
Public Class Methods
new()
click to toggle source
# File lib/nrename/options.rb, line 11 def initialize self.class.def_delegators :options, *default_options.keys end
Public Instance Methods
default_options()
click to toggle source
# File lib/nrename/options.rb, line 15 def default_options { :numbers_only => false, :dirs => Set.new, :execute => false, :pattern => /(\d+)/, :recursive => false, :rename_dirs => false, :renumber => false, :verbose => true } end
extract_dirs(args)
click to toggle source
# File lib/nrename/options.rb, line 107 def extract_dirs(args) dirs = Set.new args.each do |arg| dir = File.expand_path arg if File.directory? dir dirs << dir else warn "#{dir} is not a valid directory." exit 1 end end if options.recursive dirs.dup.each do |dir| dirs.merge Utils.all_subdirs_of dir end end dirs end
options()
click to toggle source
# File lib/nrename/options.rb, line 28 def options @options ||= OpenStruct.new default_options end
parse(args)
click to toggle source
# File lib/nrename/options.rb, line 88 def parse(args) # Display help if called through 'nrename' executable and without arguments: if args.empty? && Nrename.executable_name == 'nrename' args << '--help' end parser.parse! args if !options.execute && Nrename.executable_name == 'nrename' at_exit do warn 'No renaming is done. Run with -X option to perform actual changes.' end end options.dirs = extract_dirs args self end
parser()
click to toggle source
# File lib/nrename/options.rb, line 36 def parser OptionParser.new do |opts| opts.banner = "Usage: #{Nrename.executable_name} [OPTINS] DIR..." opts.separator '' opts.separator 'Options:' opts.on '-X', '--execute', "Do actual work" do |x| options.execute = x end opts.on '-R', '--recursive', 'Process given directories recursively' do |rec| options.recursive = rec end opts.on '-N', '--numbers-only', 'Leave only numbers in file name' do |n| options.numbers_only = n end opts.on '-D', '--rename-dirs', 'Rename only directories instead of regular files' do |d| options.rename_dirs = d end opts.on '--renumber', 'Renumber files from starting from 1 and on' do |renum| options.renumber = renum end opts.on '--regexp REGEXP', Regexp, 'Use REGEXP to match filenames' do |regexp| options.pattern = regexp end opts.on '-v', '--[no-]verbose', 'Run verbosely' do |v| options.verbose = v end opts.on '-h', '--help', 'Display this message' do puts opts exit end opts.on '--version', 'Display version' do puts VERSION exit end end end
reset()
click to toggle source
# File lib/nrename/options.rb, line 32 def reset @options = nil end