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  |