From e738da701bbb0acccf815973c03cca4101a9e9be Mon Sep 17 00:00:00 2001 From: Tom Freudenberg Date: Thu, 8 Oct 2020 04:04:57 +0200 Subject: [PATCH 1/2] fix: info will break if e.g. Roo::CSV is initialized by stream object --- lib/roo/base.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/roo/base.rb b/lib/roo/base.rb index f4ac9a3c..e423ad76 100644 --- a/lib/roo/base.rb +++ b/lib/roo/base.rb @@ -201,7 +201,7 @@ def empty?(row, col, sheet = default_sheet) # this document. def info without_changing_default_sheet do - result = "File: #{File.basename(@filename)}\n"\ + result = is_stream?(@filename) ? "Content: stream\n" : "File: #{File.basename(@filename)}\n"\ "Number of sheets: #{sheets.size}\n"\ "Sheets: #{sheets.join(', ')}\n" n = 1 From 0514ed6f90863d310c24e321de97e16ee208160f Mon Sep 17 00:00:00 2001 From: Tom Freudenberg Date: Thu, 8 Oct 2020 04:27:42 +0200 Subject: [PATCH 2/2] fix: reinitialize will lost @options, if is_stream?(@filename) rewind is missing --- lib/roo/base.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/roo/base.rb b/lib/roo/base.rb index e423ad76..9b45b589 100644 --- a/lib/roo/base.rb +++ b/lib/roo/base.rb @@ -456,7 +456,8 @@ def without_changing_default_sheet end def reinitialize - initialize(@filename) + @filename.rewind if is_stream?(@filename) + initialize(@filename, @options) end def find_basename(filename)