Class: CLI::Kit::Args::Definition::Position
- Inherits:
-
Object
- Object
- CLI::Kit::Args::Definition::Position
- Defined in:
- lib/cli/kit/args/definition.rb
Instance Attribute Summary
Attributes included from OptBase
Instance Method Summary collapse
-
#initialize(name:, desc:, required:, multi:, default: nil, skip: nil) ⇒ Position
constructor
: (name: Symbol, desc: String?, required: bool, multi: bool, ?default: (String | ^-> String)?, ?skip: (^-> bool | ^(String arg0) -> bool)?) -> void.
-
#skip?(arg) ⇒ Boolean
: (String arg) -> bool.
Methods included from OptValue
#default, #dynamic_default?, #multi?, #optional?, #required?
Constructor Details
#initialize(name:, desc:, required:, multi:, default: nil, skip: nil) ⇒ Position
: (name: Symbol, desc: String?, required: bool, multi: bool, ?default: (String | ^-> String)?, ?skip: (^-> bool | ^(String arg0) -> bool)?) -> void
135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/cli/kit/args/definition.rb', line 135 def initialize(name:, desc:, required:, multi:, default: nil, skip: nil) if multi && (default || required) raise(ArgumentError, 'multi-valued positions cannot have a default or required value') end @name = name @desc = desc @required = required @multi = multi @default = default @skip = skip end |
Instance Method Details
#skip?(arg) ⇒ Boolean
: (String arg) -> bool
149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/cli/kit/args/definition.rb', line 149 def skip?(arg) if @skip.nil? false elsif @skip.arity == 0 prc = @skip #: as ^() -> bool prc.call else prc = @skip #: as ^(String) -> bool prc.call(arg) end end |