Class: Assemble::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/assemble/response.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

BadRequest =
Class.new(Error)
NotFound =
Class.new(Error)
Unprocessable =
Class.new(Error)
Conflict =
Class.new(Error)
Unexpected =
Class.new(Error)
EXCEPTION_MAPPING =
{
  400 => BadRequest,
  404 => NotFound,
  409 => Conflict,
  422 => Unprocessable,
  500 => Unexpected,
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Response

Returns a new instance of Response.



46
47
48
49
50
51
# File 'lib/assemble/response.rb', line 46

def initialize(options={})
  @status  = options[:status]
  @headers = options[:headers]
  @body    = options[:body]
  @request = options[:request]
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



44
45
46
# File 'lib/assemble/response.rb', line 44

def body
  @body
end

#headersObject (readonly)

Returns the value of attribute headers.



44
45
46
# File 'lib/assemble/response.rb', line 44

def headers
  @headers
end

#requestObject (readonly)

Returns the value of attribute request.



44
45
46
# File 'lib/assemble/response.rb', line 44

def request
  @request
end

#statusObject (readonly)

Returns the value of attribute status.



44
45
46
# File 'lib/assemble/response.rb', line 44

def status
  @status
end

Instance Method Details

#raise!Object



57
58
59
60
61
62
# File 'lib/assemble/response.rb', line 57

def raise!
  if !successful?
    raise((EXCEPTION_MAPPING[self.status] || Error).new(self))
  else self
  end
end

#successful?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/assemble/response.rb', line 53

def successful?
  self.status >= 200 && self.status <= 299 || self.status == 304
end