class GGem::CLI::CLIRB::Option
Attributes
abbrev[R]
desc[R]
klass[R]
name[R]
opt_name[R]
parser_args[R]
value[R]
Public Class Methods
new(name, desc = nil, abbrev: nil, value: nil)
click to toggle source
# File lib/ggem/cli/clirb.rb, line 37 def initialize(name, desc = nil, abbrev: nil, value: nil) @name, @desc = name, desc || "" @opt_name, @abbrev = parse_name_values(name, abbrev) @value, @klass = gvalinfo(value) @parser_args = if [TrueClass, FalseClass, NilClass].include?(@klass) ["-#{@abbrev}", "--[no-]#{@opt_name}", @desc] else ["-#{@abbrev}", "--#{@opt_name} VALUE", @klass, @desc] end end
Private Instance Methods
gvalinfo(v)
click to toggle source
# File lib/ggem/cli/clirb.rb, line 55 def gvalinfo(v); v.kind_of?(Class) ? [nil,v] : [v,v.class]; end
parse_name_values(name, custom_abbrev)
click to toggle source
# File lib/ggem/cli/clirb.rb, line 50 def parse_name_values(name, custom_abbrev) [ (processed_name = name.to_s.strip.downcase).gsub("_", "-"), custom_abbrev || processed_name.gsub(/[^a-z]/, "").chars.first || "a" ] end