Class: GraphQR::Pagination::PaginationExtension
- Inherits:
-
GraphQL::Schema::FieldExtension
- Object
- GraphQL::Schema::FieldExtension
- GraphQR::Pagination::PaginationExtension
- Defined in:
- lib/graphqr/pagination/pagination_extension.rb
Overview
TODO: add documentation
Instance Method Summary collapse
- #after_resolve(value:, arguments:, **_kwargs) ⇒ Object
- #apply ⇒ Object
-
#resolve(object:, arguments:, **_kwargs) {|object, next_args| ... } ⇒ Object
Remove pagination args before passing it to a user method.
Instance Method Details
#after_resolve(value:, arguments:, **_kwargs) ⇒ Object
23 24 25 |
# File 'lib/graphqr/pagination/pagination_extension.rb', line 23 def after_resolve(value:, arguments:, **_kwargs) PaginationResolver.new(value, items: arguments[:per], page: arguments[:page]) end |
#apply ⇒ Object
8 9 10 11 12 13 |
# File 'lib/graphqr/pagination/pagination_extension.rb', line 8 def apply field.argument :per, 'Int', required: false, default_value: 25, description: 'The requested number of nodes for the page' field.argument :page, 'Int', required: false, default_value: 1, description: 'The requested page number' end |
#resolve(object:, arguments:, **_kwargs) {|object, next_args| ... } ⇒ Object
Remove pagination args before passing it to a user method
16 17 18 19 20 21 |
# File 'lib/graphqr/pagination/pagination_extension.rb', line 16 def resolve(object:, arguments:, **_kwargs) next_args = arguments.dup next_args.delete(:per) next_args.delete(:page) yield(object, next_args) end |