Exception: BrainzLab::ServiceUnavailableError

Inherits:
Error
  • Object
show all
Defined in:
lib/brainzlab/errors.rb

Overview

Raised when a service is temporarily unavailable.

Examples:

Service unavailable

raise BrainzLab::ServiceUnavailableError.new(
  "Vault service is currently unavailable",
  hint: "The service is undergoing maintenance. Please try again later.",
  code: "vault_unavailable"
)

Constant Summary

Constants inherited from Error

Error::DOCS_BASE_URL

Instance Attribute Summary collapse

Attributes inherited from Error

#code, #context, #docs_url, #hint

Instance Method Summary collapse

Methods inherited from Error

#as_json, #detailed_message, #inspect, #to_h, #to_s

Constructor Details

#initialize(message = nil, hint: nil, docs_url: nil, code: nil, context: nil, service_name: nil) ⇒ ServiceUnavailableError

Returns a new instance of ServiceUnavailableError.



337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/brainzlab/errors.rb', line 337

def initialize(message = nil, hint: nil, docs_url: nil, code: nil, context: nil, service_name: nil)
  @service_name = service_name

  hint ||= 'The service is temporarily unavailable. Please try again later.'
  docs_url ||= "#{DOCS_BASE_URL}/status"
  code ||= 'service_unavailable'

  context ||= {}
  context[:service_name] = service_name if service_name

  super(message, hint: hint, docs_url: docs_url, code: code, context: context.empty? ? nil : context)
end

Instance Attribute Details

#service_nameString? (readonly)

Returns The name of the unavailable service.

Returns:

  • (String, nil)

    The name of the unavailable service



335
336
337
# File 'lib/brainzlab/errors.rb', line 335

def service_name
  @service_name
end