Module: Cassette::Errors

Defined in:
lib/cassette/errors.rb,
lib/cassette/errors/not_a_customer.rb,
lib/cassette/errors/not_an_employee.rb

Defined Under Namespace

Classes: Base, NotACustomer, NotAnEmployee

Constant Summary collapse

TYPES =
{
  401 => :AuthorizationRequired,
  400 => :BadRequest,
  403 => :Forbidden,
  500 => :InternalServerError,
  404 => :NotFound,
  412 => :PreconditionFailed
}

Class Method Summary collapse

Class Method Details

.error_class(name) ⇒ Object



24
25
26
# File 'lib/cassette/errors.rb', line 24

def self.error_class(name)
  Cassette::Errors.const_get(name)
end

.raise_by_code(code) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/cassette/errors.rb', line 14

def self.raise_by_code(code)
  name = TYPES[code.to_i]

  if name
    fail error_class(name)
  else
    fail error_class(:InternalServerError)
  end
end