Exception: Passage::PassageError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/passageidentity/error.rb

Overview

PassageError is a custom error class for handling errors

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message: nil, status_code: nil, body: {}) ⇒ PassageError

Returns a new instance of PassageError.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/passageidentity/error.rb', line 10

def initialize(message: nil, status_code: nil, body: {})
  # Ensure body is a hash
  body = {} if body.nil?

  body = symbolize_keys(body)
  @status_code = status_code
  @error_code = body[:code]
  # Message precedence: explicit message > body error > default message
  @message = determine_message(message, body)
  # Determine status text from status code if available
  @status_text = determine_status_text(status_code)
  # Set error field based on message
  @error = @message

  super(@message)
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



8
9
10
# File 'lib/passageidentity/error.rb', line 8

def error
  @error
end

#error_codeObject (readonly)

Returns the value of attribute error_code.



8
9
10
# File 'lib/passageidentity/error.rb', line 8

def error_code
  @error_code
end

#messageObject (readonly)

Returns the value of attribute message.



8
9
10
# File 'lib/passageidentity/error.rb', line 8

def message
  @message
end

#status_codeObject (readonly)

Returns the value of attribute status_code.



8
9
10
# File 'lib/passageidentity/error.rb', line 8

def status_code
  @status_code
end

#status_textObject (readonly)

Returns the value of attribute status_text.



8
9
10
# File 'lib/passageidentity/error.rb', line 8

def status_text
  @status_text
end