aboutsummaryrefslogtreecommitdiffstats
path: root/lib/optparse.rb
diff options
context:
space:
mode:
authorWhyme Lyu <5longluna@gmail.com>2022-10-29 21:46:23 +0800
committergit <svn-admin@ruby-lang.org>2022-10-29 13:46:27 +0000
commit37291df91dea2616559e64751ae6f8ed799c4310 (patch)
tree8872736a734762cc9cad4eb29942629132df0fe1 /lib/optparse.rb
parent4dac53f0a48920f80ccaa4de151631659ab1d2ba (diff)
downloadruby-37291df91dea2616559e64751ae6f8ed799c4310.tar.gz
[ruby/optparse] #load() into hash
(https://github.com/ruby/optparse/pull/42) OptionParser#load learns .load(into: Hash) https://github.com/ruby/optparse/commit/2ea626fcff Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Diffstat (limited to 'lib/optparse.rb')
-rw-r--r--lib/optparse.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/optparse.rb b/lib/optparse.rb
index 9dad2e4eda..238fa1e219 100644
--- a/lib/optparse.rb
+++ b/lib/optparse.rb
@@ -1903,10 +1903,13 @@ XXX
# directory ~/.options, then the basename with '.options' suffix
# under XDG and Haiku standard places.
#
- def load(filename = nil)
+ # The optional +into+ keyword argument works exactly like that accepted in
+ # method #parse.
+ #
+ def load(filename = nil, into: nil)
unless filename
basename = File.basename($0, '.*')
- return true if load(File.expand_path(basename, '~/.options')) rescue nil
+ return true if load(File.expand_path(basename, '~/.options'), into: into) rescue nil
basename << ".options"
return [
# XDG
@@ -1918,11 +1921,11 @@ XXX
'~/config/settings',
].any? {|dir|
next if !dir or dir.empty?
- load(File.expand_path(basename, dir)) rescue nil
+ load(File.expand_path(basename, dir), into: into) rescue nil
}
end
begin
- parse(*IO.readlines(filename).each {|s| s.chomp!})
+ parse(*IO.readlines(filename).each {|s| s.chomp!}, into: into)
true
rescue Errno::ENOENT, Errno::ENOTDIR
false