Module: CapsuleCRM::Errors
- Defined in:
- lib/capsule_crm/errors.rb,
lib/capsule_crm/errors/record_invalid.rb,
lib/capsule_crm/errors/response_error.rb,
lib/capsule_crm/errors/record_not_saved.rb
Defined Under Namespace
Classes: RecordInvalid, RecordNotSaved, ResponseError
Constant Summary
collapse
- BAD_REQUEST =
400
- NOT_AUTHORIZED =
401
- NOT_FOUND =
404
- INTERNAL_SERVER_ERROR =
500
Class Method Summary
collapse
Class Method Details
.class_for_error_code(code) ⇒ Object
35
36
37
38
39
40
41
42
|
# File 'lib/capsule_crm/errors.rb', line 35
def class_for_error_code(code)
name = error_constants.select { |k, v| v == code }.keys.first
if name.present?
class_for_error_name(name)
else
CapsuleCRM::Errors::InternalServerError
end
end
|
.class_for_error_name(name) ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/capsule_crm/errors.rb', line 26
def class_for_error_name(name)
class_name = class_name_for_error_name(name)
if const_defined?(class_name)
CapsuleCRM::Errors.const_get(class_name)
else
CapsuleCRM::Errors::InternalServerError
end
end
|
.class_name_for_error_name(name) ⇒ Object
22
23
24
|
# File 'lib/capsule_crm/errors.rb', line 22
def class_name_for_error_name(name)
name.to_s.titleize.gsub(' ', '')
end
|
.error_constants ⇒ Object
11
12
13
14
15
16
|
# File 'lib/capsule_crm/errors.rb', line 11
def error_constants
self.constants.each_with_object({}) do |name, hash|
next if (code = Errors.const_get(name)).is_a?(Class)
hash[name] = code
end
end
|
.error_from_env(env) ⇒ Object
18
19
20
|
# File 'lib/capsule_crm/errors.rb', line 18
def error_from_env(env)
class_for_error_code(env[:status]).new(env)
end
|