Sha256: 562065ddb930a45ed8138922be6c39f8b4d20b49909a1be19c2cce9c847383f0

Contents?: true

Size: 630 Bytes

Versions: 3

Compression:

Stored size: 630 Bytes

Contents

# frozen_string_literal: true

require 'graphql'
require 'graphql/groups/schema/group_type'

module GraphQL
  module Groups
    module Schema
      class GroupResultType < GraphQL::Schema::Object
        include HasAggregates

        alias group_result object

        field :key, String, null: true

        aggregate_field :count, Integer, null: false, query_method: :count, resolver_method: :resolve_count

        def key
          group_result[0]
        end

        def count(scope:, **)
          scope.size
        end

        def resolve_count
          group_result[1][:count]
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
graphql-groups-0.2.3 lib/graphql/groups/schema/group_result_type.rb
graphql-groups-0.2.2 lib/graphql/groups/schema/group_result_type.rb
graphql-groups-0.2.1 lib/graphql/groups/schema/group_result_type.rb