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

Inherits:
Flag
  • Object
show all
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 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

: (name: Symbol, ?short: String?, ?long: String?, ?desc: String?, ?default: (String | ^-> String | Array | ^-> Array)?, ?required: bool, ?multi: bool) -> void



166
167
168
169
170
171
172
173
174
175
# File 'lib/cli/kit/args/definition.rb', line 166

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