Exception: HumanError::Errors::UnpermittedParametersError

Inherits:
RuntimeError
  • Object
show all
Includes:
HumanError::Error
Defined in:
lib/human_error/errors/request_errors/unpermitted_parameters_error.rb

Instance Attribute Summary collapse

Attributes included from HumanError::Error

#code, #developer_documentation_url, #external_documentation_url, #id, #message

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HumanError::Error

#as_json, included, #to_json, #to_s

Constructor Details

#initialize(**attrs) ⇒ UnpermittedParametersError

Returns a new instance of UnpermittedParametersError.



21
22
23
24
25
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 21

def initialize(**attrs)
  self.parameters = Array(attrs.delete(:parameters))

  super(**attrs)
end

Instance Attribute Details

#parametersObject

Returns the value of attribute parameters.



6
7
8
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 6

def parameters
  @parameters
end

Class Method Details

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



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 8

def self.convert(original_error, overrides = {})
  initialization_parameters = {}

  case original_error.class.name
  when 'ActionController::UnpermittedParameters'
    initialization_parameters = {
      parameters: Array(original_error.params),
    }
  end

  new(initialization_parameters.merge(overrides))
end

Instance Method Details

#detailObject



35
36
37
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 35

def detail
  "The following parameters passed are not allowed: #{parameters.join(', ')}"
end

#http_statusObject



27
28
29
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 27

def http_status
  400
end

#sourceObject



39
40
41
42
43
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 39

def source
  {
    'unpermitted_parameters' => parameters,
  }
end

#titleObject



31
32
33
# File 'lib/human_error/errors/request_errors/unpermitted_parameters_error.rb', line 31

def title
  'Unpermitted Parameters'
end