class ProblemDetails::Document
The class that implements a Problem Details JSON object described in RFC 7807.
Attributes
detail[RW]
instance[RW]
status[RW]
title[RW]
type[RW]
Public Class Methods
new(params = {})
click to toggle source
# File lib/problem_details/document.rb, line 12 def initialize(params = {}) params = params.dup @type = params.delete(:type) @status = Rack::Utils.status_code(params.delete(:status)) if params.key?(:status) @title = params.delete(:title) || (@status ? ::Rack::Utils::HTTP_STATUS_CODES[@status] : nil) @detail = params.delete(:detail) @instance = params.delete(:instance) @extentions = params end
Public Instance Methods
to_hash()
click to toggle source
# File lib/problem_details/document.rb, line 22 def to_hash h = {} %i[type title status detail instance].each do |key| value = public_send(key) h[key] = value if value end h.merge(@extentions) end
Also aliased as: to_h
to_json()
click to toggle source
# File lib/problem_details/document.rb, line 32 def to_json to_hash.to_json end