Class: Graphiti::Util::SerializerRelationship

Inherits:
Object
  • Object
show all
Defined in:
lib/graphiti/util/serializer_relationships.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_class, serializer, sideload) ⇒ SerializerRelationship

Returns a new instance of SerializerRelationship.



27
28
29
30
31
# File 'lib/graphiti/util/serializer_relationships.rb', line 27

def initialize(resource_class, serializer, sideload)
  @resource_class = resource_class
  @serializer = serializer
  @sideload = sideload
end

Class Method Details

If we can't eagerly validate links on app boot, we do it at runtime To avoid any performance confusion, this caches that lookup



40
41
42
# File 'lib/graphiti/util/serializer_relationships.rb', line 40

def self.validated_link_cache
  @validated_link_cache ||= []
end

Instance Method Details

#applyObject



33
34
35
36
# File 'lib/graphiti/util/serializer_relationships.rb', line 33

def apply
  sideload = @sideload
  @serializer.relationship(@sideload.name, if: -> { sideload.readable? }, &block)
end