summaryrefslogtreecommitdiff
path: root/lib/file_streamer.rb
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-11-18 11:58:01 +0100
committerZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-11-18 11:58:01 +0100
commit53b285c9a8b7eec9ee10906ef519da376347b69e (patch)
treee3fa4f337112cedb08343e7d3ea85ecc1f48fb1d /lib/file_streamer.rb
parent2f048df4a4a83ff009d2ef2d14ee04e5a2798618 (diff)
parent21a59b23fe4d8bc4331f746c75f9242a49d75faa (diff)
downloadgitlab-ce-53b285c9a8b7eec9ee10906ef519da376347b69e.tar.gz
Merge branch 'master' into merge-if-green
Diffstat (limited to 'lib/file_streamer.rb')
-rw-r--r--lib/file_streamer.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/file_streamer.rb b/lib/file_streamer.rb
new file mode 100644
index 00000000000..4e3c6d3c773
--- /dev/null
+++ b/lib/file_streamer.rb
@@ -0,0 +1,16 @@
+class FileStreamer #:nodoc:
+ attr_reader :to_path
+
+ def initialize(path)
+ @to_path = path
+ end
+
+ # Stream the file's contents if Rack::Sendfile isn't present.
+ def each
+ File.open(to_path, 'rb') do |file|
+ while chunk = file.read(16384)
+ yield chunk
+ end
+ end
+ end
+end