class ProcArgs

Public Class Methods

new(args) click to toggle source
# File oldcode/last_cddb.rb, line 212
def initialize(args)
    super()
    @@Options[:show_ends] = ''
    @@Options[:cddb_dir] = @@CddbDir
    #self[:show_ends] = ''

    opts = OptionParser.new do |opts|
        opts.banner = "Usage: #$0 [options]"

        opts.on('-D', '--cddb_dir DIR',
                'set CDDB directory to DIR') do |dir|
            unless File.directory? dir
                raise OptionParser::InvalidArgument, " (not a directory)"
            else
                unless File.readable?(dir) || File.executable?(dir)
                    raise OptionParser::InvalidArgument, " (directory not read/exec)"
                end
            end
            @@Options[:cddb_dir] = dir
            #self[:cddb_dir] = dir
        end

        opts.on('-E', '--show-ends [STRING]',
                'display [STRING] at end of each line') do |string|
            @@Options[:show_ends] = string || '$'
            #self[:show_ends] = string || '$'
        end

        opts.on('-L', '--total_albums [PATT]', 
            'show total albums') do |patt|
            @@Options[:total_albums] = patt || ''
            #self[:total_albums] = patt || ''
        end

        opts.on('-A', '--total_artists [PATT]', 
            'show total artists') do |patt|
            @@Options[:total_artists] = patt || ''
            #self[:total_artists] = patt || ''
        end

        opts.on('-n', '--number', 'number all output lines') do
            @@Options[:number_lines] = true
            #self[:number_lines] = true
        end

        opts.on_tail('-h', '--help', 'display this help and exit') do
            puts opts
            exit
        end
    end
    begin 
        opts.parse!(args)
    rescue OptionParser::MissingArgument, OptionParser::InvalidOption, 
        OptionParser::InvalidArgument => ooops
        puts ooops
        puts opts
        exit(1)
    end
end