Exception: OnyxCord::Errors::CodeError

Inherits:
HTTPError
  • Object
show all
Defined in:
lib/onyxcord/core/errors.rb

Overview

Generic class for errors denoted by API error codes

Class Attribute Summary collapse

Instance Attribute Summary collapse

Attributes inherited from HTTPError

#body, #headers, #response, #route, #status

Instance Method Summary collapse

Constructor Details

#initialize(message, errors = nil, status: nil, headers: {}, route: nil, body: nil, response: nil) ⇒ CodeError

Create a new error with a particular message (the code should be defined by the class instance variable)

Parameters:

  • message (String)

    the message to use

  • errors (Hash) (defaults to: nil)

    API errors



50
51
52
53
54
55
# File 'lib/onyxcord/core/errors.rb', line 50

def initialize(message, errors = nil, status: nil, headers: {}, route: nil, body: nil, response: nil)
  @message = message

  @errors = errors ? flatten_errors(errors) : []
  super(full_message, status: status, code: code, headers: headers, route: route, body: body, response: response)
end

Class Attribute Details

.codeInteger (readonly)

Returns The error code represented by this error class.

Returns:

  • (Integer)

    The error code represented by this error class.



44
45
46
# File 'lib/onyxcord/core/errors.rb', line 44

def code
  @code
end

Instance Attribute Details

#errorsHash (readonly)

Returns More precise errors.

Returns:

  • (Hash)

    More precise errors



73
74
75
# File 'lib/onyxcord/core/errors.rb', line 73

def errors
  @errors
end

#messageString (readonly)

Returns This error's represented message.

Returns:

  • (String)

    This error's represented message



70
71
72
# File 'lib/onyxcord/core/errors.rb', line 70

def message
  @message
end

Instance Method Details

#codeInteger

Returns The error code represented by this error.

Returns:

  • (Integer)

    The error code represented by this error.



58
59
60
# File 'lib/onyxcord/core/errors.rb', line 58

def code
  self.class.code
end

#full_messageString

Returns A message including the message and flattened errors.

Returns:

  • (String)

    A message including the message and flattened errors.



63
64
65
66
67
# File 'lib/onyxcord/core/errors.rb', line 63

def full_message(*)
  error_list = @errors.collect { |err| "\t- #{err}" }

  "#{@message}\n#{error_list.join("\n")}"
end