module Spire class Error def initialize(opts={:status => 200, :message=> "Unknown Error"}) case opts[:status] when 200 self.return_error(opts[:message], opts[:status]) when 404 if opts[:message] self.return_error(opts[:message], opts[:status]) else self.return_404 end when 444 self.return_444 when 401 self.return_401 when 204 self.return_204 when 301 self.return_301 end end def return_204 @return = Response.new("

204 - No content

", 'text/html;', 204) end def return_301 @return = Response.new("

301 - Moved permanently

", 'text/html;', 301) end def return_401 @return = Response.new("

401 - Not authorized

", 'text/html;', 401) end def return_404 @return = Response.new("

404 - Page not found

", 'text/html;', 404) end def return_444 @return = Response.new("

No response made by the server, check for a valid response

", 'text/html;', 404) end def return_error(message, status) @return = Response.new(message, 'text/html;', status) end def to_rack @return.to_rack end end end