class Sickle::Option
Attributes
default[RW]
name[RW]
opts[RW]
Public Class Methods
new(name, opts)
click to toggle source
# File lib/sickle.rb, line 66 def initialize(name, opts) @name, @opts = name, opts @default = opts.has_key?(:default) ? opts[:default] : nil if @default == true || @default == false @type = :boolean else @type = @default.class.to_s.downcase.to_sym end end
Public Instance Methods
cli_name()
click to toggle source
# File lib/sickle.rb, line 90 def cli_name @name.to_s.tr("_", "-") end
coerce(value)
click to toggle source
# File lib/sickle.rb, line 94 def coerce(value) case @default when Fixnum value.to_i when Float value.to_f else value end end
register(parser, results)
click to toggle source
# File lib/sickle.rb, line 78 def register(parser, results) if @type == :boolean parser.on("--#{cli_name}", opts[:desc]) do results[@name] = true end else parser.on("--#{cli_name} #{@name.upcase}") do |v| results[@name] = coerce(v) end end end