Module: CLI::Kit::Opts::Mixin
Defined Under Namespace
Modules: MixinClassMethods
Class Method Summary collapse
-
.included(klass) ⇒ Object
: (Module klass) -> void.
Instance Method Summary collapse
-
#flag(name: infer_name, short: nil, long: nil, desc: nil) ⇒ Object
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?) -> bool.
- #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
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?, ?default: (String | ^-> String)?) -> String?.
-
#option!(name: infer_name, short: nil, long: nil, desc: nil, default: nil) ⇒ Object
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?, ?default: (String | ^-> String)?) -> String.
-
#position(name: infer_name, desc: nil, default: nil, skip: nil) ⇒ Object
: (?name: Symbol, ?desc: String?, ?default: (String | ^-> String)?, ?skip: (^-> bool | ^(String arg0) -> bool)?) -> String?.
-
#position!(name: infer_name, desc: nil) ⇒ Object
: (?name: Symbol, ?desc: String?) -> String.
-
#rest(name: infer_name, desc: nil) ⇒ Object
: (?name: Symbol, ?desc: String?) -> Array.
Class Method Details
.included(klass) ⇒ Object
: (Module klass) -> void
40 41 42 |
# File 'lib/cli/kit/opts.rb', line 40 def included(klass) klass.extend(MixinClassMethods) end |
Instance Method Details
#flag(name: infer_name, short: nil, long: nil, desc: nil) ⇒ Object
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?) -> bool
89 90 91 92 93 94 95 96 97 |
# File 'lib/cli/kit/opts.rb', line 89 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
76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/cli/kit/opts.rb', line 76 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
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?, ?default: (String | ^-> String)?) -> String?
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/cli/kit/opts.rb', line 46 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
: (?name: Symbol, ?short: String?, ?long: String?, ?desc: String?, ?default: (String | ^-> String)?) -> String
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/cli/kit/opts.rb', line 63 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
: (?name: Symbol, ?desc: String?, ?default: (String | ^-> String)?, ?skip: (^-> bool | ^(String arg0) -> bool)?) -> String?
111 112 113 114 115 116 117 118 119 |
# File 'lib/cli/kit/opts.rb', line 111 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
: (?name: Symbol, ?desc: String?) -> String
100 101 102 103 104 105 106 107 108 |
# File 'lib/cli/kit/opts.rb', line 100 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
: (?name: Symbol, ?desc: String?) -> Array
122 123 124 125 126 127 128 129 130 |
# File 'lib/cli/kit/opts.rb', line 122 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 |