From 7865593823e68a8a0d79947b462321b378065e7d Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 14 May 2024 09:39:49 +0900 Subject: [PATCH] mruby-dir: enumerating methods should return enumerators; #6265 --- mrbgems/mruby-dir/mrblib/dir.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mrbgems/mruby-dir/mrblib/dir.rb b/mrbgems/mruby-dir/mrblib/dir.rb index 0d5b189ff..b0bf2bc78 100644 --- a/mrbgems/mruby-dir/mrblib/dir.rb +++ b/mrbgems/mruby-dir/mrblib/dir.rb @@ -2,6 +2,7 @@ class Dir include Enumerable def each(&block) + return to_enum(:each) unless block while s = self.read block.call(s) end @@ -9,6 +10,7 @@ class Dir end def each_child(&block) + return to_enum(:each_child) unless block while s = self.read block.call(s) unless s == "." || s == ".." end @@ -40,7 +42,8 @@ class Dir end def foreach(path, &block) - self.open(path) do |d| + return to_enum(:foreach, path) unless block + self.open(path) do |d| d.each(&block) end end