aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisty De Meo2017-08-03 17:18:13 -0700
committerMisty De Meo2017-08-03 17:23:16 -0700
commit1c3ece12b997206fd9cb0b2bf98c25da8332fe10 (patch)
tree4c7b4243b17e6f77338b757dea9b1e33c793e122
parent1cae6dd6777aa6657c0df500a32ef68cefb2b746 (diff)
downloadbrew-1c3ece12b997206fd9cb0b2bf98c25da8332fe10.tar.bz2
Tap.each: return an enumerable when no block given
-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