End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
OptionParser#define_by_keywords
define_by_keywords(options, method, **params)
lib/optparse/kwargs.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.2.0/lib/optparse/kwargs.rb, line 10
def define_by_keywords(options, meth, **opts)
meth.parameters.each do |type, name|
case type
when :key, :keyreq
op, cl = *(type == :key ? %w"[ ]" : ["", ""])
define("--#{name}=#{op}#{name.upcase}#{cl}", *opts[name]) do |o|
options[name] = o
end
end
end
options
end
Creates an option from the given parameters params. See Parameters for New Options.
The block, if given, is the handler for the created option. When the option is encountered during command-line parsing, the block is called with the argument given for the option, if any. See Option Handlers.
See also
#define
#define_head
#def_head_option
#define_tail
also in
4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0