class Rack::Files::BaseIterator
Attributes
Public Class Methods
Source
# File lib/rack/files.rb, line 124 def initialize(path, ranges, options) @path = path @ranges = ranges @options = options end
Public Instance Methods
Source
# File lib/rack/files.rb, line 144 def bytesize size = ranges.inject(0) do |sum, range| sum += multipart_heading(range).bytesize if multipart? sum += range.size end size += "\r\n--#{MULTIPART_BOUNDARY}--\r\n".bytesize if multipart? size end
Source
# File lib/rack/files.rb, line 130 def each ::File.open(path, "rb") do |file| ranges.each do |range| yield multipart_heading(range) if multipart? each_range_part(file, range) do |part| yield part end end yield "\r\n--#{MULTIPART_BOUNDARY}--\r\n" if multipart? end end