aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Reiter2017-08-04 16:14:06 +0200
committerGitHub2017-08-04 16:14:06 +0200
commit42cfb6d238b7b37b8114e9d0c988bc8e47c5c604 (patch)
tree3c19baa5377a667c3d4d4c89b3585b38d9833cfa
parent77fb123139e00e3cfac39dd206241050298be309 (diff)
parent1c3ece12b997206fd9cb0b2bf98c25da8332fe10 (diff)
downloadbrew-42cfb6d238b7b37b8114e9d0c988bc8e47c5c604.tar.bz2
Merge pull request #2999 from mistydemeo/tap_each_enum
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