aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/tap.rb2
-rw-r--r--Library/Homebrew/test/tap_spec.rb6
2 files changed, 8 insertions, 0 deletions
diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb
index 7990acc5d..84953726f 100644
--- a/Library/Homebrew/tap.rb
+++ b/Library/Homebrew/tap.rb
@@ -486,6 +486,8 @@ class Tap
def self.each
return unless TAP_DIRECTORY.directory?
+ return to_enum unless block_given?
+
TAP_DIRECTORY.subdirs.each do |user|
user.subdirs.each do |repo|
yield fetch(user.basename.to_s, repo.basename.to_s)
diff --git a/Library/Homebrew/test/tap_spec.rb b/Library/Homebrew/test/tap_spec.rb
index 0eb4ca1be..957f9bdd2 100644
--- a/Library/Homebrew/test/tap_spec.rb
+++ b/Library/Homebrew/test/tap_spec.rb
@@ -297,6 +297,12 @@ describe Tap do
subject.config["foo"] = nil
expect(subject.config["foo"]).to be nil
end
+
+ describe "#each" do
+ it "returns an enumerator if no block is passed" do
+ expect(described_class.each).to be_an_instance_of(Enumerator)
+ end
+ end
end
describe CoreTap do