Class: HumanError

Inherits:
Object
  • Object
show all
Defined in:
lib/human_error.rb,
lib/human_error/error.rb,
lib/human_error/version.rb,
lib/human_error/configuration.rb,
lib/human_error/utilities/string.rb,
lib/human_error/errors/crud_error.rb,
lib/human_error/rescuable_resource.rb,
lib/human_error/verifiable_resource.rb,
lib/human_error/errors/authentication_error.rb,
lib/human_error/errors/crud_errors/association_error.rb,
lib/human_error/errors/crud_errors/resource_not_found_error.rb,
lib/human_error/errors/crud_errors/resource_persistence_error.rb,
lib/human_error/errors/request_errors/parameter_missing_error.rb,
lib/human_error/errors/authentication_errors/invalid_token_error.rb,
lib/human_error/errors/request_errors/unpermitted_parameters_error.rb,
lib/human_error/errors/authentication_errors/duplicate_authentication_error.rb,
lib/human_error/errors/authentication_errors/invalid_username_or_password_error.rb

Defined Under Namespace

Modules: Error, Errors, RescuableResource, Utilities, VerifiableResource Classes: Configuration

Constant Summary collapse

VERSION =
'3.0.0'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(error_type, overrides = {}) ⇒ Object



22
23
24
# File 'lib/human_error.rb', line 22

def self.build(error_type, overrides = {})
  fetch(error_type).new(overrides)
end

.configurationObject



40
41
42
# File 'lib/human_error/configuration.rb', line 40

def self.configuration
  Configuration.instance
end

.configure {|configuration| ... } ⇒ Object

Yields:



36
37
38
# File 'lib/human_error/configuration.rb', line 36

def self.configure
  yield configuration
end

.convert(original_error, overrides = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/human_error.rb', line 26

def self.convert(original_error, overrides = {})
  case original_error.class.name
  when 'ActiveRecord::InvalidForeignKey'
    fetch('AssociationError').convert(original_error, overrides)
  when 'ActiveRecord::RecordNotFound'
    fetch('ResourceNotFoundError').convert(original_error, overrides)
  when 'ActiveRecord::RecordInvalid',
       'ActiveRecord::RecordNotSaved'
    fetch('ResourcePersistenceError').convert(original_error, overrides)
  when 'ActionController::ParameterMissing',
    fetch('ParameterMissingError').convert(original_error, overrides)
  when 'ActionController::UnpermittedParameters'
    fetch('UnpermittedParametersError').convert(original_error, overrides)
  end
end

.fetch(error_type) ⇒ Object



18
19
20
# File 'lib/human_error.rb', line 18

def self.fetch(error_type)
  Object.const_get("HumanError::Errors::#{error_type}")
end

.raise(error_type, **args) ⇒ Object



42
43
44
# File 'lib/human_error.rb', line 42

def self.raise(error_type, **args)
  Kernel.raise build(error_type, **args)
end

Instance Method Details

#configurationObject



32
33
34
# File 'lib/human_error/configuration.rb', line 32

def configuration
  Configuration.instance
end