lib/dry/cli/option.rb in dry-cli-1.0.0 vs lib/dry/cli/option.rb in dry-cli-1.1.0
- old
+ new
@@ -57,10 +57,15 @@
# @api private
def boolean?
type == :boolean
end
+ # @api private
+ def flag?
+ type == :flag
+ end
+
# @since 0.3.0
# @api private
def array?
type == :array
end
@@ -90,10 +95,12 @@
dasherized_name = Inflector.dasherize(name)
parser_options = []
if boolean?
parser_options << "--[no-]#{dasherized_name}"
+ elsif flag?
+ parser_options << "--#{dasherized_name}"
else
parser_options << "--#{dasherized_name}=#{name}"
parser_options << "--#{dasherized_name} #{name}"
end
@@ -110,10 +117,10 @@
aliases
.map { |name| name.gsub(/^-{1,2}/, "") }
.compact
.uniq
.map { |name| name.size == 1 ? "-#{name}" : "--#{name}" }
- .map { |name| boolean? ? name : "#{name} VALUE" }
+ .map { |name| boolean? || flag? ? name : "#{name} VALUE" }
end
end
# Command line argument
#