Class: Graphiti::Util::SerializerRelationship
- Defined in:
- lib/graphiti/util/serializer_relationships.rb
Class Method Summary collapse
-
.validated_link_cache ⇒ Object
If we can't eagerly validate links on app boot, we do it at runtime To avoid any performance confusion, this caches that lookup.
Instance Method Summary collapse
- #apply ⇒ Object
-
#initialize(resource_class, serializer, sideload) ⇒ SerializerRelationship
constructor
A new instance of SerializerRelationship.
Constructor Details
#initialize(resource_class, serializer, sideload) ⇒ SerializerRelationship
Returns a new instance of SerializerRelationship.
36 37 38 39 40 |
# File 'lib/graphiti/util/serializer_relationships.rb', line 36 def initialize(resource_class, serializer, sideload) @resource_class = resource_class @serializer = serializer @sideload = sideload end |
Class Method Details
.validated_link_cache ⇒ Object
If we can't eagerly validate links on app boot, we do it at runtime To avoid any performance confusion, this caches that lookup
53 54 55 |
# File 'lib/graphiti/util/serializer_relationships.rb', line 53 def self.validated_link_cache @validated_link_cache ||= [] end |
Instance Method Details
#apply ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/graphiti/util/serializer_relationships.rb', line 42 def apply sideload = @sideload # Reassign rather than mutate: ancestors share the hash by reference # until a subclass writes to it. @serializer.relationship_sideloads = @serializer.relationship_sideloads.merge(@sideload.name => @sideload) @serializer.relationship(@sideload.name, if: -> { sideload.readable? }, &block) end |