lib/ggem/cli/clirb.rb in ggem-1.8.4 vs lib/ggem/cli/clirb.rb in ggem-1.9.0
- old
+ new
@@ -6,17 +6,17 @@
HelpExit = Class.new(RuntimeError); VersionExit = Class.new(RuntimeError)
attr_reader :argv, :args, :opts, :data
def initialize(&block)
@options = []; instance_eval(&block) if block
- require 'optparse'
+ require "optparse"
@data, @args, @opts = [], [], {}; @parser = OptionParser.new do |p|
- p.banner = ''; @options.each do |o|
+ 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 }
+ p.on_tail("--version", ""){ |v| raise VersionExit, v.to_s }
+ p.on_tail("--help", ""){ |v| raise HelpExit, v.to_s }
end
end
def option(*args); @options << Option.new(*args); end
def parse!(argv)
@@ -25,18 +25,18 @@
rescue OptionParser::ParseError => err; raise Error, err.message; end
end; @data = @args + [@opts]
end
def to_s; @parser.to_s; end
def inspect
- "#<#{self.class}:#{'0x0%x' % (object_id << 1)} @data=#{@data.inspect}>"
+ "#<#{self.class}:#{"0x0%x" % (object_id << 1)} @data=#{@data.inspect}>"
end
class Option
attr_reader :name, :opt_name, :desc, :abbrev, :value, :klass, :parser_args
def initialize(name, *args)
- settings, @desc = args.last.kind_of?(::Hash) ? args.pop : {}, args.pop || ''
+ settings, @desc = args.last.kind_of?(::Hash) ? args.pop : {}, args.pop || ""
@name, @opt_name, @abbrev = parse_name_values(name, settings[:abbrev])
@value, @klass = gvalinfo(settings[:value])
@parser_args = if [TrueClass, FalseClass, NilClass].include?(@klass)
["-#{@abbrev}", "--[no-]#{@opt_name}", @desc]
else
@@ -45,11 +45,11 @@
end
private
def parse_name_values(name, custom_abbrev)
- [ (processed_name = name.to_s.strip.downcase), processed_name.gsub('_', '-'),
- custom_abbrev || processed_name.gsub(/[^a-z]/, '').chars.first || 'a'
+ [ (processed_name = name.to_s.strip.downcase), processed_name.gsub("_", "-"),
+ custom_abbrev || processed_name.gsub(/[^a-z]/, "").chars.first || "a"
]
end
def gvalinfo(v); v.kind_of?(Class) ? [nil,gklass(v)] : [v,gklass(v.class)]; end
def gklass(k); k == Fixnum ? Integer : k; end
end