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

current() click to toggle source

Alias for Current.response

# File lib/ramaze/response.rb, line 13
def self.current; Current.response; end
new(body = [], status = 200, header = {}, &block) click to toggle source

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

Calls superclass method
# 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

body=(obj) click to toggle source

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
build(new_body = nil, new_status = nil, new_header = nil) click to toggle source

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