Sha256: ba5bf676f2a3ab9e9a352d85a6497a7cc6b00bd0632cac25c90cacfde304fa30
Contents?: true
Size: 954 Bytes
Versions: 1
Compression:
Stored size: 954 Bytes
Contents
require 'jsonapi/error_serializer' module JSONAPI # [ActiveModel::Errors] serializer class ActiveModelErrorSerializer < ErrorSerializer attribute :status do '422' end attribute :title do Rack::Utils::HTTP_STATUS_CODES[422] end attribute :code do |object| object.type.to_s.delete("''").parameterize.tr('-', '_') end attribute :detail do |object, _params| object.full_message end attribute :source do |object, params| error_key = object.attribute model_serializer = params[:model_serializer] attrs = (model_serializer.attributes_to_serialize || {}).keys rels = (model_serializer.relationships_to_serialize || {}).keys if attrs.include?(error_key) { pointer: "/data/attributes/#{error_key}" } elsif rels.include?(error_key) { pointer: "/data/relationships/#{error_key}" } else { pointer: '' } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapi.rb-2.1.1 | lib/jsonapi/active_model_error_serializer.rb |