module Erratum::Error
Attributes
code[W]
detail[W]
developer_documentation_url[W]
external_documentation_url[W]
http_status[W]
id[W]
message[W]
source[W]
title[W]
Public Class Methods
included(base)
click to toggle source
# File lib/erratum/error.rb, line 100 def self.included(base) base.extend ClassMethods end
new(**args)
click to toggle source
# File lib/erratum/error.rb, line 30 def initialize(**args) args.each do |variable, value| public_send("#{variable}=", value) end end
Public Instance Methods
as_json(_options = {})
click to toggle source
# File lib/erratum/error.rb, line 36 def as_json(_options = {}) { id: id, links: { about: external_documentation_url, documentation: developer_documentation_url, }, status: http_status, code: code, title: title, detail: detail, source: source, } end
code()
click to toggle source
# File lib/erratum/error.rb, line 73 def code @code ||= self.class.name .underscore .gsub(%r{\A[^/]+/}, '') .gsub(%r{/}, '.') end
detail()
click to toggle source
# File lib/erratum/error.rb, line 84 def detail @detail ||= 'The server encountered an error.' end
developer_documentation_url()
click to toggle source
# File lib/erratum/error.rb, line 63 def developer_documentation_url @developer_documentation_url ||= configuration.developer_documentation_urls[code] end
external_documentation_url()
click to toggle source
# File lib/erratum/error.rb, line 59 def external_documentation_url @external_documentation_url ||= configuration.external_documentation_urls[code] end
http_status()
click to toggle source
# File lib/erratum/error.rb, line 67 def http_status @http_status ||= 500 end
Also aliased as: status
id()
click to toggle source
# File lib/erratum/error.rb, line 55 def id @id ||= SecureRandom.uuid end
message()
click to toggle source
# File lib/erratum/error.rb, line 92 def message to_s end
source()
click to toggle source
# File lib/erratum/error.rb, line 88 def source @source ||= {} end
title()
click to toggle source
# File lib/erratum/error.rb, line 80 def title @title ||= self.class.name end
to_json(_options = {})
click to toggle source
# File lib/erratum/error.rb, line 51 def to_json(_options = {}) JSON.dump(as_json) end
to_s()
click to toggle source
# File lib/erratum/error.rb, line 96 def to_s @message || detail end