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 #