class Hanami::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/hanami/cli/option.rb, line 20 def initialize(name, options = {}) @name = name @options = options end
Public Instance Methods
aliases()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 27 def aliases options[:aliases] || [] end
argument?()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 82 def argument? false end
array?()
click to toggle source
@since 0.3.0 @api private
# File lib/hanami/cli/option.rb, line 64 def array? type == :array end
boolean?()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 58 def boolean? type == :boolean end
default()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 70 def default options[:default] end
desc()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/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/hanami/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
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
# File lib/hanami/cli/option.rb, line 91 def parser_options dasherized_name = Hanami::Utils::String.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_name) unless alias_name.nil? parser_options << desc if desc parser_options end
required?()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 40 def required? options[:required] end
type()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 46 def type options[:type] end
values()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 52 def values options[:values] end
Private Instance Methods
alias_name()
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/cli/option.rb, line 115 def alias_name aliases.join(" ") if aliases.any? end