class HQ::GraphQL::FieldExtension::PaginatedLoader
Public Instance Methods
resolve(object:, arguments:, **_options)
click to toggle source
# File lib/hq/graphql/field_extension/paginated_loader.rb, line 9 def resolve(object:, arguments:, **_options) limit = arguments[:limit] offset = arguments[:offset] sort_by = arguments[:sort_by] sort_order = arguments[:sort_order] scope = field.scope.call(**arguments.except(:limit, :offset, :sort_by, :sort_order)) if field.scope loader = PaginatedAssociationLoader.for( klass, association, internal_association: internal_association, scope: scope, limit: limit, offset: offset, sort_by: sort_by, sort_order: sort_order ) loader.load(object.object) end
Private Instance Methods
association()
click to toggle source
# File lib/hq/graphql/field_extension/paginated_loader.rb, line 31 def association options[:association] end
internal_association()
click to toggle source
# File lib/hq/graphql/field_extension/paginated_loader.rb, line 35 def internal_association options[:internal_association] end
klass()
click to toggle source
# File lib/hq/graphql/field_extension/paginated_loader.rb, line 39 def klass options[:klass] end