module GraphQR::RelationFields
@TODO doc
Public Instance Methods
has_many(field_name, type_class, scope_class: nil, **kwargs, &block)
click to toggle source
# File lib/graphqr/relation_fields.rb, line 12 def has_many(field_name, type_class, scope_class: nil, **kwargs, &block) type_class = type_class.first resolver = has_many_resolver(field_name, type_class, scope_class) field(field_name, paginate: true, resolver: resolver, **kwargs, &block) end
has_one(field_name, type_class, **kwargs, &block)
click to toggle source
# File lib/graphqr/relation_fields.rb, line 20 def has_one(field_name, type_class, **kwargs, &block) resolver = has_one_resolver(field_name, type_class) field(field_name, resolver: resolver, **kwargs, &block) end
Private Instance Methods
has_many_resolver(collection_name, type_class, scope_class)
click to toggle source
# File lib/graphqr/relation_fields.rb, line 28 def has_many_resolver(collection_name, type_class, scope_class) resolver = base_collection_resolver(type_class, scope_class) resolver.define_method(:unscoped_collection) { @unscoped_collection ||= object.send(collection_name) } resolver end
has_one_resolver(resource_name, type_class)
click to toggle source
# File lib/graphqr/relation_fields.rb, line 34 def has_one_resolver(resource_name, type_class) resolver = base_resource_resolver(type_class) resolver.define_method(:record) { @record ||= object.send(resource_name) } resolver end