class Assert::CLIRB
Constants
- Error
- HelpExit
- VersionExit
Attributes
args[R]
argv[R]
data[R]
opts[R]
Public Class Methods
new(&block)
click to toggle source
# File lib/assert/clirb.rb, line 7 def initialize(&block) @options = []; instance_eval(&block) if block require "optparse" @data, @args, @opts = [], [], {}; @parser = OptionParser.new do |p| p.banner = ""; @options.each do |o| @opts[o.name] = o.value; p.on(*o.parser_args){ |v| @opts[o.name] = v } end p.on_tail("--version", ""){ |v| raise VersionExit, v.to_s } p.on_tail("--help", ""){ |v| raise HelpExit, v.to_s } end end
Public Instance Methods
inspect()
click to toggle source
# File lib/assert/clirb.rb, line 27 def inspect "#<#{self.class}:#{"0x0%x" % (object_id << 1)} @data=#{@data.inspect}>" end
option(*args, **kargs)
click to toggle source
# File lib/assert/clirb.rb, line 19 def option(*args, **kargs); @options << Option.new(*args, **kargs); end
parse!(argv)
click to toggle source
# File lib/assert/clirb.rb, line 20 def parse!(argv) @args = (argv || []).dup.tap do |args_list| begin; @parser.parse!(args_list) rescue OptionParser::ParseError => err; raise Error, err.message; end end; @data = @args + [@opts] end
to_s()
click to toggle source
# File lib/assert/clirb.rb, line 26 def to_s; @parser.to_s; end