Class: Heel::ErrorResponse
- Inherits:
-
Object
- Object
- Heel::ErrorResponse
- Defined in:
- lib/heel/error_response.rb
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
readonly
Returns the value of attribute base_uri.
Class Method Summary collapse
Instance Method Summary collapse
- #finish ⇒ Object
-
#initialize(base_uri, body, status = 404, header = {}) ⇒ ErrorResponse
constructor
A new instance of ErrorResponse.
Constructor Details
#initialize(base_uri, body, status = 404, header = {}) ⇒ ErrorResponse
Returns a new instance of ErrorResponse.
29 30 31 32 33 |
# File 'lib/heel/error_response.rb', line 29 def initialize(base_uri, body, status = 404, header = {}) header = header.merge( "Content-Type" => 'text/html' ) @response = Rack::Response.new('', status, header ) @base_uri = base_uri end |
Instance Attribute Details
#base_uri ⇒ Object (readonly)
Returns the value of attribute base_uri.
13 14 15 |
# File 'lib/heel/error_response.rb', line 13 def base_uri @base_uri end |
Class Method Details
.homepage ⇒ Object
24 25 26 |
# File 'lib/heel/error_response.rb', line 24 def homepage @homepage ||= Heel::Configuration::HOMEPAGE end |
.template ⇒ Object
20 21 22 |
# File 'lib/heel/error_response.rb', line 20 def template @template ||= ::ERB.new(File.read(template_file)) end |
.template_file ⇒ Object
16 17 18 |
# File 'lib/heel/error_response.rb', line 16 def template_file @template_file ||= Heel::Configuration.data_path("error.rhtml") end |
Instance Method Details
#finish ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/heel/error_response.rb', line 35 def finish template_vars = TemplateVars.new( :status => @response.status, :message => Rack::Utils::HTTP_STATUS_CODES[@response.status], :base_uri => base_uri, :homepage => ErrorResponse.homepage ) content = ErrorResponse.template.result( template_vars.binding_for_template ) @response.write( content ) return @response.finish end |