class Cri::OptionDefinition
The definition of an option.
Attributes
argument[R]
block[R]
default[R]
desc[R]
long[R]
multiple[R]
short[R]
transform[R]
Public Class Methods
new(short:, long:, desc:, argument:, multiple:, block:, hidden:, default:, transform:)
click to toggle source
# File lib/cri/option_definition.rb, line 16 def initialize(short:, long:, desc:, argument:, multiple:, block:, hidden:, default:, transform:) @short = short @long = long @desc = desc @argument = argument @multiple = multiple @block = block @hidden = hidden @default = default @transform = transform if @short.nil? && @long.nil? raise ArgumentError, 'short and long options cannot both be nil' end if @default && @argument == :forbidden raise ArgumentError, 'a default value cannot be specified for flag options' end @default = false if @argument == :forbidden end
Public Instance Methods
formatted_name()
click to toggle source
# File lib/cri/option_definition.rb, line 52 def formatted_name @long ? '--' + @long : '-' + @short end
to_h()
click to toggle source
# File lib/cri/option_definition.rb, line 38 def to_h { short: @short, long: @long, desc: @desc, argument: @argument, multiple: @multiple, block: @block, hidden: @hidden, default: @default, transform: @transform, } end