Class: ActionDispatch::Response::Buffer
  
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - ActionDispatch::Response::Buffer
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/action_dispatch/http/response.rb
 
  
  
 
Overview
  
  
    
      Instance Method Summary
      collapse
    
    
  
  Constructor Details
  
    
  
  
    #initialize(response, buf)  ⇒ Buffer 
  
  
  
  
    
Returns a new instance of Buffer.
   
 
  
  
    
      
99
100
101
102
103
104 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 99
def initialize(response, buf)
  @response = response
  @buf      = buf
  @closed   = false
  @str_body = nil
end 
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #abort  ⇒ Object 
  
  
  
  
    
      
132
133 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 132
def abort
end 
     | 
  
 
    
      
  
  
    #body  ⇒ Object 
  
  
  
  
    
      
106
107
108
109
110
111
112 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 106
def body
  @str_body ||= begin
    buf = "".dup
    each { |chunk| buf << chunk }
    buf
  end
end
     | 
  
 
    
      
  
  
    #close  ⇒ Object 
  
  
  
  
    
      
135
136
137
138 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 135
def close
  @response.commit!
  @closed = true
end 
     | 
  
 
    
      
  
  
    #closed?  ⇒ Boolean 
  
  
  
  
    
      
140
141
142 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 140
def closed?
  @closed
end 
     | 
  
 
    
      
  
  
    #each(&block)  ⇒ Object 
  
  
  
  
    
      
122
123
124
125
126
127
128
129
130 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 122
def each(&block)
  if @str_body
    return enum_for(:each) unless block_given?
    yield @str_body
  else
    each_chunk(&block)
  end
end
     | 
  
 
    
      
  
  
    #write(string)  ⇒ Object 
  
  
  
  
    
      
114
115
116
117
118
119
120 
     | 
    
      # File 'lib/action_dispatch/http/response.rb', line 114
def write(string)
  raise IOError, "closed stream" if closed?
  @str_body = nil
  @response.commit!
  @buf.push string
end 
     |