class ErrorSerializer
Attributes
errors[R]
source[R]
title[R]
Public Class Methods
new(errors, source: nil, title: nil)
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 5 def initialize(errors, source: nil, title: nil) @errors = errors @source = source @title = title end
Public Instance Methods
serializable_hash()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 15 def serializable_hash { errors: formatted_errors } end
serialized_json()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 11 def serialized_json serializable_hash.to_json end
Private Instance Methods
errors_from_active_model()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 30 def errors_from_active_model error_array = [] errors.keys.each do |field| errors.full_messages_for(field).each do |error| error_array << { source: { pointer: "/data/attributes/#{field}" }, title: title || 'Unprocessable entity', detail: error } end end error_array end
errors_from_exception()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 46 def errors_from_exception error = { title: title || errors.class.name.demodulize || 'Unknown error', detail: errors.message } error[:source] = { pointer: source } if source [error] end
errors_from_string()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 57 def errors_from_string error = { title: title || 'Unknown error', detail: errors } error[:source] = { pointer: source } if source [error] end
exception_error?()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 68 def exception_error? errors.is_a?(StandardError) end
formatted_errors()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 23 def formatted_errors return errors_from_exception if exception_error? return errors_from_string if string_error? errors_from_active_model end
string_error?()
click to toggle source
# File lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb, line 72 def string_error? errors.is_a?(String) end