class Gearhead::Serializers::InvalidResourceSerializer
Attributes
errors[R]
resource[R]
Public Class Methods
new(resource, options = {})
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 8 def initialize(resource, options = {}) @resource = resource @errors = errors_for(resource).flatten end
Public Instance Methods
id()
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 13 def id resource.id.to_s end
serializable_hash(options = nil)
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 21 def serializable_hash(options = nil) {}.tap do |hash| hash[:id] = id if has_id? hash[:type] = type if has_id? hash[:errors] = errors end end
serialized_json(options = nil)
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 29 def serialized_json(options = nil) serializable_hash.to_json(options) end
type()
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 17 def type resource.class.name.downcase end
Private Instance Methods
build_hash_for(field, error_message)
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 51 def build_hash_for(field, error_message) {}.tap do |hash| hash[:source] = {pointer: "/data/attributes/#{field}"} hash[:detail] = error_message end end
build_hashes_for(field, errors)
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 45 def build_hashes_for(field, errors) errors.map do |error_message| build_hash_for(field, error_message) end end
errors_for(resource)
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 39 def errors_for(resource) resource.errors.messages.map do |field, errors| build_hashes_for(field, errors) end end
has_id?()
click to toggle source
# File lib/gearhead/serializers/invalid_resource_serializer.rb, line 35 def has_id? @resource.respond_to?(:id) end