From 73c56e06c429ca713d3b612437d2087314a1062f Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Sat, 3 Sep 2022 22:01:59 +0900 Subject: [PATCH] [ruby/csv] CSV#read consumes the same lines with other methods like CSV#shift GitHub: fix https://github.com/ruby/csv/pull/258 Reported by Lhoussaine Ghallou. Thanks!!! https://github.com/ruby/csv/commit/71e6d24e28 --- lib/csv.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/csv.rb b/lib/csv.rb index d4dc569b83..78c3029e7b 100644 --- a/lib/csv.rb +++ b/lib/csv.rb @@ -2592,7 +2592,14 @@ class CSV # # Raises IOError (not opened for reading) # csv.read def read - rows = to_a + rows = [] + enumerator = parser_enumerator + begin + while true + rows << enumerator.next + end + rescue StopIteration + end if parser.use_headers? Table.new(rows, headers: parser.headers) else