Class: Geminize::ErrorMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/geminize/error_mapper.rb

Overview

Maps API error responses to appropriate exception classes

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error_info) ⇒ ErrorMapper

Initialize a new mapper

Parameters:

  • error_info (Hash)

    Hash containing error information (http_status, code, message)



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

def initialize(error_info)
  @error_info = error_info
end

Instance Attribute Details

#error_infoHash (readonly)

Returns The error information hash.

Returns:

  • (Hash)

    The error information hash



14
15
16
# File 'lib/geminize/error_mapper.rb', line 14

def error_info
  @error_info
end

Class Method Details

.map(error_info) ⇒ Geminize::GeminizeError

Maps an error response to the appropriate exception

Parameters:

  • error_info (Hash)

    Hash containing error information (http_status, code, message)

Returns:



9
10
11
# File 'lib/geminize/error_mapper.rb', line 9

def self.map(error_info)
  new(error_info).map
end

Instance Method Details

#mapGeminize::GeminizeError

Map the error to an appropriate exception

Returns:



24
25
26
27
28
29
30
31
# File 'lib/geminize/error_mapper.rb', line 24

def map
  error_class = determine_error_class
  error_class.new(
    error_info[:message],
    error_info[:code],
    error_info[:http_status]
  )
end