From 48aecf2fa726c9dde9505108053199052b3116d8 Mon Sep 17 00:00:00 2001 From: Gautham Goli Date: Sat, 14 Apr 2018 19:04:24 +0530 Subject: [PATCH] cli_parser: Refactor required argument for flag to '=' --- Library/Homebrew/cli_parser.rb | 11 ++++++----- Library/Homebrew/dev-cmd/pull.rb | 4 ++-- Library/Homebrew/dev-cmd/tests.rb | 4 ++-- Library/Homebrew/dev-cmd/update-test.rb | 4 ++-- Library/Homebrew/test/cli_parser_spec.rb | 6 +++--- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/Library/Homebrew/cli_parser.rb b/Library/Homebrew/cli_parser.rb index bd88e96f98..5ce769343b 100644 --- a/Library/Homebrew/cli_parser.rb +++ b/Library/Homebrew/cli_parser.rb @@ -34,14 +34,15 @@ module Homebrew end end - def flag(name, description: nil, required: false) - if required - option_required = OptionParser::REQUIRED_ARGUMENT + def flag(name, description: nil) + if name.end_with? "=" + required = OptionParser::REQUIRED_ARGUMENT + name.chomp! "=" else - option_required = OptionParser::OPTIONAL_ARGUMENT + required = OptionParser::OPTIONAL_ARGUMENT end description = option_to_description(name) if description.nil? - @parser.on(name, description, option_required) do |option_value| + @parser.on(name, description, required) do |option_value| @parsed_args[option_to_name(name)] = option_value end end diff --git a/Library/Homebrew/dev-cmd/pull.rb b/Library/Homebrew/dev-cmd/pull.rb index b13adfc83b..3947846963 100644 --- a/Library/Homebrew/dev-cmd/pull.rb +++ b/Library/Homebrew/dev-cmd/pull.rb @@ -86,8 +86,8 @@ module Homebrew switch "--warn-on-publish-failure" switch :verbose switch :debug - flag "--bintray-org", required: true - flag "--test-bot-user", required: true + flag "--bintray-org=" + flag "--test-bot-user=" end if ARGV.named.empty? diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 44cc6b02a4..c96b19a1d7 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -29,8 +29,8 @@ module Homebrew switch "--online" switch :debug switch :verbose - flag "--only", required: true - flag "--seed", required: true + flag "--only=" + flag "--seed=" end HOMEBREW_LIBRARY_PATH.cd do diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index 2d34f7d727..d72e12b249 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -25,8 +25,8 @@ module Homebrew switch "--keep-tmp" switch :verbose switch :debug - flag "--commit", required: true - flag "--before", required: true + flag "--commit=" + flag "--before=" end ENV["HOMEBREW_UPDATE_TEST"] = "1" diff --git a/Library/Homebrew/test/cli_parser_spec.rb b/Library/Homebrew/test/cli_parser_spec.rb index 9f1c7a7b38..5f65a80c15 100644 --- a/Library/Homebrew/test/cli_parser_spec.rb +++ b/Library/Homebrew/test/cli_parser_spec.rb @@ -51,8 +51,8 @@ describe Homebrew::CLI::Parser do describe "test long flag options" do subject(:parser) { described_class.new do - flag "--filename", description: "Name of the file", required: true - comma_array "--files", description: "Comma separated filenames" + flag "--filename=", description: "Name of the file" + comma_array "--files", description: "Comma separated filenames" end } @@ -61,7 +61,7 @@ describe Homebrew::CLI::Parser do expect(args.filename).to eq "random.txt" end - it "raises an exception when a flag's required arg is not passed" do + it "raises an exception when a flag's required value is not passed" do expect { parser.parse(["--filename"]) }.to raise_error(OptionParser::MissingArgument, /--filename/) end