aboutsummaryrefslogtreecommitdiffstats
path: root/lib/roo/csv.rb
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2022-03-19 21:48:07 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2022-03-19 21:48:07 -0400
commita6e765da9b4da8cf9ddedcbaeb29fe5dca5df263 (patch)
tree39a2e5d06c16d048e9618e1170e3b6304fbade2e /lib/roo/csv.rb
parente67f4551479264125a641b955523d95e192b6d44 (diff)
parentf5fb17e5a64b215644bc104f099dad8c2f10c37d (diff)
Update upstream source from tag 'upstream/2.9.0'
Update to upstream version '2.9.0' with Debian dir 41b8f9c552bbf25b076de11901d6f615d684366f
Diffstat (limited to 'lib/roo/csv.rb')
-rw-r--r--lib/roo/csv.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/roo/csv.rb b/lib/roo/csv.rb
index 516def6..4431bc2 100644
--- a/lib/roo/csv.rb
+++ b/lib/roo/csv.rb
@@ -90,17 +90,23 @@ module Roo
def each_row(options, &block)
if uri?(filename)
each_row_using_tempdir(options, &block)
- elsif is_stream?(filename_or_stream)
- ::CSV.new(filename_or_stream, options).each(&block)
else
- ::CSV.foreach(filename, options, &block)
+ csv_foreach(filename_or_stream, options, &block)
end
end
def each_row_using_tempdir(options, &block)
::Dir.mktmpdir(Roo::TEMP_PREFIX, ENV["ROO_TMP"]) do |tmpdir|
tmp_filename = download_uri(filename, tmpdir)
- ::CSV.foreach(tmp_filename, options, &block)
+ csv_foreach(tmp_filename, options, &block)
+ end
+ end
+
+ def csv_foreach(path_or_io, options, &block)
+ if is_stream?(path_or_io)
+ ::CSV.new(path_or_io, **options).each(&block)
+ else
+ ::CSV.foreach(path_or_io, **options, &block)
end
end