class JSONAPI::Rails::ErrorsRenderer
@private
Public Class Methods
new(renderer = JSONAPI::Serializable::Renderer.new)
click to toggle source
# File lib/jsonapi/rails/renderer.rb, line 43 def initialize(renderer = JSONAPI::Serializable::Renderer.new) @renderer = renderer freeze end
Public Instance Methods
render(errors, options, controller)
click to toggle source
# File lib/jsonapi/rails/renderer.rb, line 49 def render(errors, options, controller) options = default_options(options, controller) errors = [errors] unless errors.is_a?(Array) @renderer.render_errors(errors, options) end
Private Instance Methods
default_options(options, controller)
click to toggle source
# File lib/jsonapi/rails/renderer.rb, line 59 def default_options(options, controller) options.dup.tap do |opts| opts[:class] ||= controller.jsonapi_errors_class opts[:links] = controller.jsonapi_links.merge!(opts[:links] || {}) opts[:expose] = controller.jsonapi_expose .merge(opts[:expose] || {}) .merge!(_jsonapi_pointers: controller.jsonapi_pointers) opts[:jsonapi] = opts.delete(:jsonapi_object) || controller.jsonapi_object end end