Class: Graphiti::ErrorSerializers::Validation
- Defined in:
- lib/graphiti/error_serializers/validation.rb
Overview
Walks into related objects so nested writes report against the record that actually failed.
Instance Attribute Summary collapse
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Instance Method Summary collapse
- #attribute_errors ⇒ Object
- #errors ⇒ Object
-
#initialize(object, relationship_payloads = {}, relationship_meta = {}) ⇒ Validation
constructor
A new instance of Validation.
Constructor Details
#initialize(object, relationship_payloads = {}, relationship_meta = {}) ⇒ Validation
Returns a new instance of Validation.
8 9 10 11 12 |
# File 'lib/graphiti/error_serializers/validation.rb', line 8 def initialize(object, relationship_payloads = {}, = {}) @object = object @relationship_payloads = relationship_payloads @relationship_meta = end |
Instance Attribute Details
#object ⇒ Object (readonly)
Returns the value of attribute object.
6 7 8 |
# File 'lib/graphiti/error_serializers/validation.rb', line 6 def object @object end |
Instance Method Details
#attribute_errors ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/graphiti/error_serializers/validation.rb', line 14 def attribute_errors [].tap do |errors| each_error do |attribute, , code| errors << { code: "unprocessable_entity", status: "422", title: "Validation Error", detail: detail_for(attribute, ), source: {pointer: pointer_for(object, attribute)}, meta: (attribute, , code, @relationship_meta) } end end end |
#errors ⇒ Object
29 30 31 32 33 |
# File 'lib/graphiti/error_serializers/validation.rb', line 29 def errors return [] unless object.respond_to?(:errors) attribute_errors | relationship_errors(object, @relationship_payloads) end |