mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	[ruby/optparse] #load() into hash
(https://github.com/ruby/optparse/pull/42)
OptionParser#load learns .load(into: Hash)
2ea626fcff
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
			
			
This commit is contained in:
		
							parent
							
								
									4dac53f0a4
								
							
						
					
					
						commit
						37291df91d
					
				
					 1 changed files with 7 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue