class SimpleOptionParser
Constants
- VERSION
Attributes
defaults[RW]
Public Class Methods
new(defaults={})
click to toggle source
# File lib/simple_option_parser.rb, line 9 def initialize(defaults={}) @defaults = defaults end
parse(argv, defaults={})
click to toggle source
# File lib/simple_option_parser.rb, line 5 def self.parse(argv, defaults={}) new(defaults).parse(argv) end
Public Instance Methods
parse(argv)
click to toggle source
# File lib/simple_option_parser.rb, line 13 def parse(argv) options = @defaults.dup while argv.first =~ %r{^--([\w\-]+)(?:=(.*))?$} key, value = $1, $2 key = key.gsub('-', '_').to_sym options[key] = parse_value(value) argv.shift end options end
parse_value(value)
click to toggle source
# File lib/simple_option_parser.rb, line 24 def parse_value(value) case value when %r{^[\d.]+$} value.to_f when %r{^(\d+)/(\d+)$} Rational($1.to_i, $2.to_i) when 'true', 'yes', 'on' true when 'false', 'no', 'off' false when nil true else value end end