class Dry::CLI::Option
Command
line option
@since 0.1.0 @api private
Attributes
name[R]
@since 0.1.0 @api private
options[R]
@since 0.1.0 @api private
Public Class Methods
new(name, options = {})
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 20 def initialize(name, options = {}) @name = name @options = options end
Public Instance Methods
alias_names()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 109 def alias_names aliases .map { |name| name.gsub(/^-{1,2}/, "") } .compact .uniq .map { |name| name.size == 1 ? "-#{name}" : "--#{name}" } .map { |name| boolean? ? name : "#{name} VALUE" } end
aliases()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 27 def aliases options[:aliases] || [] end
argument?()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 82 def argument? false end
array?()
click to toggle source
@since 0.3.0 @api private
# File lib/dry/cli/option.rb, line 64 def array? type == :array end
boolean?()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 58 def boolean? type == :boolean end
default()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 70 def default options[:default] end
desc()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 33 def desc desc = options[:desc] values ? "#{desc}: (#{values.join("/")})" : desc end
description_name()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 76 def description_name options[:label] || name.upcase end
parser_options()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 89 def parser_options dasherized_name = Inflector.dasherize(name) parser_options = [] if boolean? parser_options << "--[no-]#{dasherized_name}" else parser_options << "--#{dasherized_name}=#{name}" parser_options << "--#{dasherized_name} #{name}" end parser_options << Array if array? parser_options << values if values parser_options.unshift(*alias_names) if aliases.any? parser_options << desc if desc parser_options end
required?()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 40 def required? options[:required] end
type()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 46 def type options[:type] end
values()
click to toggle source
@since 0.1.0 @api private
# File lib/dry/cli/option.rb, line 52 def values options[:values] end