Method: Rack::File#each

Defined in:
lib/vendor/rack-1.5.2/lib/rack/file.rb

#eachObject



108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/vendor/rack-1.5.2/lib/rack/file.rb', line 108

def each
  F.open(@path, "rb") do |file|
    file.seek(@range.begin)
    remaining_len = @range.end-@range.begin+1
    while remaining_len > 0
      part = file.read([8192, remaining_len].min)
      break unless part
      remaining_len -= part.length

      yield part
    end
  end
end