class Ramaze::Response
Ramaze::Response is a small wrapper around Rack::Response that makes it easier to send response data to the browser from a Ramaze application.
@author Michael Fellinger @since 01-03-2008
Public Class Methods
Alias for Current.response
# File lib/ramaze/response.rb, line 13 def self.current; Current.response; end
Creates a new instance of the response class and processes the specified parameters. Once this has been done it calls Rack::Response#initialize.
@author Michael Fellinger @since 01-03-2008 @param [Array] body An array containing the data for the response body. @param [Fixnum] status The HTPP status code for the response. @param [Hash] header A hash containing additional headers and their
values.
@param [Proc] block
# File lib/ramaze/response.rb, line 27 def initialize(body = [], status = 200, header = {}, &block) modified_header = Ramaze.options.header.merge(header) header.merge!(modified_header) super end
Public Instance Methods
Sets the body of the response to the given object.
@author Michael Fellinger @since 01-03-2008 @param [Object] obj The object to use as the response body.
# File lib/ramaze/response.rb, line 54 def body=(obj) if obj.respond_to?(:stat) @length = obj.stat.size @body = obj elsif obj.respond_to?(:size) @body = [] @length = 0 write(obj) else raise(ArgumentError, "Invalid body: %p" % obj) end end
Updates the body, status and headers.
@author Michael Fellinger @since 01-03-2008 @see Ramaze::Response#initialize
# File lib/ramaze/response.rb, line 40 def build(new_body = nil, new_status = nil, new_header = nil) self.header.merge!(new_header) if new_header self.body = new_body if new_body self.status = new_status if new_status end