From 1c3ece12b997206fd9cb0b2bf98c25da8332fe10 Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Thu, 3 Aug 2017 17:18:13 -0700 Subject: [PATCH] Tap.each: return an enumerable when no block given --- Library/Homebrew/tap.rb | 2 ++ Library/Homebrew/test/tap_spec.rb | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index 7990acc5d8..84953726ff 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 0eb4ca1bee..957f9bdd26 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