Class: Attache::FileResponseBody
- Inherits:
-
Object
- Object
- Attache::FileResponseBody
- Defined in:
- lib/attache/file_response_body.rb
Instance Method Summary collapse
-
#each ⇒ Object
adapted from rack/file.rb.
-
#initialize(file, range_start = nil, range_end = nil) ⇒ FileResponseBody
constructor
A new instance of FileResponseBody.
Constructor Details
#initialize(file, range_start = nil, range_end = nil) ⇒ FileResponseBody
Returns a new instance of FileResponseBody.
2 3 4 5 6 |
# 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 |
Instance Method Details
#each ⇒ Object
adapted from rack/file.rb
9 10 11 12 13 14 15 16 17 18 19 |
# 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 |