Exception: GeoNamesAPI::Error

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

Class Method Summary collapse

Class Method Details

.for_error_code(error_code) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/geonames_api/error.rb', line 10

def self.for_error_code(error_code)
  @lookup ||= subclasses.reduce({}) do |h, subclass|
    subclass::ERROR_CODES.each { |ea| h[ea] = subclass }
    h
  end
  @lookup[error_code]
end

.from_status(status) ⇒ Object

Raises:

  • (error_class)


4
5
6
7
8
# File 'lib/geonames_api/error.rb', line 4

def self.from_status(status)
  error_code = status['value'].to_i
  error_class = for_error_code(error_code) || self
  raise error_class, "#{status['message']} (#{error_code})"
end