Class: Ecoportal::API::GraphQL::Logic::QueryConnection
- Includes:
- Enumerable
- Defined in:
- lib/ecoportal/api/graphql/logic/query_connection.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from BaseQuery
Instance Method Summary collapse
Methods inherited from BaseQuery
accepted_params, #access_point, clear_accepted_params, field_name, #initialize, param_defaults, #path, #query, slice_params
Constructor Details
This class inherits a constructor from Ecoportal::API::GraphQL::Logic::BaseQuery
Instance Method Details
#each(connection_block: nil, **kargs, &block) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ecoportal/api/graphql/logic/query_connection.rb', line 9 def each(connection_block: nil, **kargs, &block) return to_enum(:each, **kargs, connection_block: connection_block) unless block cursor = nil; results = 0 loop do kargs.update(after: cursor) if cursor connection = query(**kargs, &connection_block) #total = connection.totalCount pageInfo = connection.pageInfo connection.nodes.each do |item| yield item end break unless cursor = pageInfo.endCursor end end |
#response_class ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ecoportal/api/graphql/logic/query_connection.rb', line 24 def response_class return connection_class if respond_to?(:connection_class) @response_class ||= self.class.new_class( item_class, inherits: Ecoportal::API::GraphQL::Logic::Connection, namespace: "Ecoportal::API::GraphQL::Connection" ) do |klass| klass.item_class = item_class end end |