Sha256: 2e73c33e5d38f27a7f1bc448830d02700558a7ccf643519c37cf79ee1b01bb4c

Contents?: true

Size: 534 Bytes

Versions: 6

Compression:

Stored size: 534 Bytes

Contents

module GraphQL
  module ResultCache
    class Field < ::GraphQL::Schema::Field
      def initialize(*args, result_cache: nil, **kwargs, &block)
        @result_cache_config = result_cache
        super(*args, **kwargs, &block)
      end

      def to_graphql
        field_defn = super # Returns a GraphQL::Field
        field_defn.metadata[:result_cache] = @result_cache_config
        field_defn.metadata[:original_non_null] = true if @result_cache_config && field_defn.type.non_null?
        field_defn
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
graphql-result_cache-0.1.8 lib/graphql/result_cache/field.rb
graphql-result_cache-0.1.7 lib/graphql/result_cache/field.rb
graphql-result_cache-0.1.6 lib/graphql/result_cache/field.rb
graphql-result_cache-0.1.5 lib/graphql/result_cache/field.rb
graphql-result_cache-0.1.4 lib/graphql/result_cache/field.rb
graphql-result_cache-0.1.3 lib/graphql/result_cache/field.rb