From c9006ddb88111cf010d5aa2a9e28032623b9ac93 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 12 Feb 2024 01:30:58 +0900 Subject: [PATCH] [ruby/optparse] [DOC] Add description of OptionParser#define_by_keywords https://github.com/ruby/optparse/commit/451dea51a0 --- lib/optparse/kwargs.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/optparse/kwargs.rb b/lib/optparse/kwargs.rb index 992aca467e..59a2f61544 100644 --- a/lib/optparse/kwargs.rb +++ b/lib/optparse/kwargs.rb @@ -7,12 +7,17 @@ class OptionParser # # :include: ../../doc/optparse/creates_option.rdoc # - def define_by_keywords(options, meth, **opts) - meth.parameters.each do |type, name| + # Defines options which set in to _options_ for keyword parameters + # of _method_. + # + # Parameters for each keywords are given as elements of _params_. + # + def define_by_keywords(options, method, **params) + method.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| + define("--#{name}=#{op}#{name.upcase}#{cl}", *params[name]) do |o| options[name] = o end end