Module: CLI::Kit::Opts::Mixin
Defined Under Namespace
Modules: MixinClassMethods
Class Method Summary
collapse
Instance Method Summary
collapse
-
#flag(name: infer_name, short: nil, long: nil, desc: nil) ⇒ Object
-
#multi_option(name: infer_name, short: nil, long: nil, desc: nil, default: []) ⇒ Object
-
#option(name: infer_name, short: nil, long: nil, desc: nil, default: nil) ⇒ Object
-
#option!(name: infer_name, short: nil, long: nil, desc: nil, default: nil) ⇒ Object
-
#position(name: infer_name, desc: nil, default: nil, skip: nil) ⇒ Object
-
#position!(name: infer_name, desc: nil) ⇒ Object
-
#rest(name: infer_name, desc: nil) ⇒ Object
Methods included from T::Sig
sig
Class Method Details
.included(klass) ⇒ Object
47
48
49
|
# File 'lib/cli/kit/opts.rb', line 47
def included(klass)
klass.extend(MixinClassMethods)
end
|
Instance Method Details
#flag(name: infer_name, short: nil, long: nil, desc: nil) ⇒ Object
127
128
129
130
131
132
133
134
135
|
# File 'lib/cli/kit/opts.rb', line 127
def flag(name: infer_name, short: nil, long: nil, desc: nil)
case @obj
when Args::Definition
@obj.add_flag(name, short: short, long: long, desc: desc)
false
when Args::Evaluation
@obj.flag.send(name)
end
end
|
#multi_option(name: infer_name, short: nil, long: nil, desc: nil, default: []) ⇒ Object
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/cli/kit/opts.rb', line 107
def multi_option(name: infer_name, short: nil, long: nil, desc: nil, default: [])
case @obj
when Args::Definition
@obj.add_option(
name, short: short, long: long, desc: desc, default: default, multi: true
)
['(result unavailable)']
when Args::Evaluation
@obj.opt.send(name)
end
end
|
#option(name: infer_name, short: nil, long: nil, desc: nil, default: nil) ⇒ Object
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/cli/kit/opts.rb', line 61
def option(name: infer_name, short: nil, long: nil, desc: nil, default: nil)
unless default.nil?
raise(ArgumentError, 'declare options with non-nil defaults using `option!` instead of `option`')
end
case @obj
when Args::Definition
@obj.add_option(
name, short: short, long: long, desc: desc, default: default
)
'(result unavailable)'
when Args::Evaluation
@obj.opt.send(name)
end
end
|
#option!(name: infer_name, short: nil, long: nil, desc: nil, default: nil) ⇒ Object
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/cli/kit/opts.rb', line 86
def option!(name: infer_name, short: nil, long: nil, desc: nil, default: nil)
case @obj
when Args::Definition
@obj.add_option(
name, short: short, long: long, desc: desc, default: default
)
'(result unavailable)'
when Args::Evaluation
@obj.opt.send(name)
end
end
|
#position(name: infer_name, desc: nil, default: nil, skip: nil) ⇒ Object
160
161
162
163
164
165
166
167
168
|
# File 'lib/cli/kit/opts.rb', line 160
def position(name: infer_name, desc: nil, default: nil, skip: nil)
case @obj
when Args::Definition
@obj.add_position(name, desc: desc, required: false, multi: false, default: default, skip: skip)
'(result unavailable)'
when Args::Evaluation
@obj.position.send(name)
end
end
|
#position!(name: infer_name, desc: nil) ⇒ Object
138
139
140
141
142
143
144
145
146
|
# File 'lib/cli/kit/opts.rb', line 138
def position!(name: infer_name, desc: nil)
case @obj
when Args::Definition
@obj.add_position(name, desc: desc, required: true, multi: false)
'(result unavailable)'
when Args::Evaluation
@obj.position.send(name)
end
end
|
#rest(name: infer_name, desc: nil) ⇒ Object
171
172
173
174
175
176
177
178
179
|
# File 'lib/cli/kit/opts.rb', line 171
def rest(name: infer_name, desc: nil)
case @obj
when Args::Definition
@obj.add_position(name, desc: desc, required: false, multi: true)
['(result unavailable)']
when Args::Evaluation
@obj.position.send(name)
end
end
|