Class: Rack::Files::BaseIterator
- Inherits:
-
Object
- Object
- Rack::Files::BaseIterator
- Defined in:
- lib/rack/files.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#ranges ⇒ Object
readonly
Returns the value of attribute ranges.
Instance Method Summary collapse
- #bytesize ⇒ Object
- #close ⇒ Object
- #each ⇒ Object
-
#initialize(path, ranges, options) ⇒ BaseIterator
constructor
A new instance of BaseIterator.
Constructor Details
#initialize(path, ranges, options) ⇒ BaseIterator
Returns a new instance of BaseIterator.
124 125 126 127 128 |
# File 'lib/rack/files.rb', line 124 def initialize(path, ranges, ) @path = path @ranges = ranges @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
122 123 124 |
# File 'lib/rack/files.rb', line 122 def @options end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
122 123 124 |
# File 'lib/rack/files.rb', line 122 def path @path end |
#ranges ⇒ Object (readonly)
Returns the value of attribute ranges.
122 123 124 |
# File 'lib/rack/files.rb', line 122 def ranges @ranges end |
Instance Method Details
#bytesize ⇒ Object
144 145 146 147 148 149 150 151 |
# 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 |
#close ⇒ Object
153 |
# File 'lib/rack/files.rb', line 153 def close; end |
#each ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 |
# 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 |