Class: CLI::Kit::Args::Definition::Option

Inherits:
Flag
  • Object
show all
Extended by:
T::Sig
Includes:
OptValue
Defined in:
lib/cli/kit/args/definition.rb

Instance Attribute Summary

Attributes inherited from Flag

#long, #short

Attributes included from OptBase

#desc, #name

Instance Method Summary collapse

Methods included from T::Sig

sig

Methods included from OptValue

#default, #dynamic_default?, #multi?, #optional?, #required?

Methods inherited from Flag

#as_written_by_user

Constructor Details

#initialize(name:, short: nil, long: nil, desc: nil, default: nil, required: false, multi: false) ⇒ Option

Returns a new instance of Option.



221
222
223
224
225
226
227
228
229
230
# File 'lib/cli/kit/args/definition.rb', line 221

def initialize(name:, short: nil, long: nil, desc: nil, default: nil, required: false, multi: false)
  if multi && required
    raise(ArgumentError, 'multi-valued options cannot have a required value')
  end

  super(name: name, short: short, long: long, desc: desc)
  @default = default
  @required = required
  @multi = multi
end