Sha256: 46ec2587f76b377625660eeb7a4264a391ddf314a7fbdfa3b4b1c01d35ab8513

Contents?: true

Size: 763 Bytes

Versions: 19

Compression:

Stored size: 763 Bytes

Contents

module GraphQL
  module Models
    class PromiseRelationConnection < GraphQL::Relay::RelationConnection
      def edges
        # Can't do any optimization if the request is asking for the last X items, since there's
        # no easy way to turn it into a generalized query.
        return super if last

        relation = sliced_nodes
        limit = [first, last, max_page_size].compact.min
        relation = relation.limit(limit) if first
        request = RelationLoadRequest.new(relation)

        request.load.then do |models|
          models.map { |m| GraphQL::Relay::Edge.new(m, self) }
        end
      end
    end

    # GraphQL::Relay::BaseConnection.register_connection_implementation(ActiveRecord::Relation, PromiseRelationConnection)
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
graphql-activerecord-0.10.0 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.10.0.pre.alpha3 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.10.0.pre.alpha2 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.10.0.pre.alpha1 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.9.1 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.9.0 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.8.0 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.7.3 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.7.2 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.8.0.pre.alpha1 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.7.1 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.7.0 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.7 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.6 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.5 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.4 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.3 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.2 lib/graphql/models/promise_relation_connection.rb
graphql-activerecord-0.6.1 lib/graphql/models/promise_relation_connection.rb