mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 0687baaf57
			
		
	
	
		0687baaf57
		
	
	
	
	
		
			
			* lib/optparse/kwargs.rb (OptionParser#define_by_keywords): [EXPERIMENTAL] extract command line option definitions from the information of keyword arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			406 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			406 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| require 'optparse'
 | |
| 
 | |
| class OptionParser
 | |
|   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
 | |
| end
 |