Port Homebrew::Cmd::Repository

This commit is contained in:
Douglas Eichelberger 2024-04-01 16:02:41 -07:00
parent 6a1d43337c
commit 3f856f6516
2 changed files with 22 additions and 21 deletions

View File

@ -1,14 +1,15 @@
# typed: strict # typed: strict
# frozen_string_literal: true # frozen_string_literal: true
require "cli/parser" require "abstract_command"
module Homebrew module Homebrew
module_function module Cmd
class Repository < AbstractCommand
sig { override.returns(String) }
def self.command_name = "--repository"
sig { returns(CLI::Parser) } cmd_args do
def __repository_args
Homebrew::CLI::Parser.new do
description <<~EOS description <<~EOS
Display where Homebrew's Git repository is located. Display where Homebrew's Git repository is located.
@ -17,12 +18,9 @@ module Homebrew
named_args :tap named_args :tap
end end
end
sig { void }
def __repository
args = __repository_args.parse
sig { override.void }
def run
if args.no_named? if args.no_named?
puts HOMEBREW_REPOSITORY puts HOMEBREW_REPOSITORY
else else
@ -30,3 +28,5 @@ module Homebrew
end end
end end
end end
end
end

View File

@ -1,8 +1,9 @@
# frozen_string_literal: true # frozen_string_literal: true
require "cmd/--repository"
require "cmd/shared_examples/args_parse" require "cmd/shared_examples/args_parse"
RSpec.describe "brew --repository" do RSpec.describe Homebrew::Cmd::Repository do
it_behaves_like "parseable arguments" it_behaves_like "parseable arguments"
it "prints Homebrew's repository", :integration_test do it "prints Homebrew's repository", :integration_test do