class Attache::FileResponseBody
Public Class Methods
new(file, range_start = nil, range_end = nil)
click to toggle source
# File lib/attache/file_response_body.rb, line 2 def initialize(file, range_start = nil, range_end = nil) @file = file @range_start = range_start || 0 @range_end = range_end || File.size(@file.path) end
Public Instance Methods
each() { |part| ... }
click to toggle source
adapted from rack/file.rb
# File lib/attache/file_response_body.rb, line 9 def each @file.seek(@range_start) remaining_len = @range_end while remaining_len > 0 part = @file.read([8192, remaining_len].min) break unless part remaining_len -= part.length yield part end end