Sha256: 1aae127acf8dd05152b76be4098c929c8db130b883229b6e31fe58871112860c

Contents?: true

Size: 645 Bytes

Versions: 1

Compression:

Stored size: 645 Bytes

Contents

require 'graphql'

module GraphQL
  module Cache
    class Field < ::GraphQL::Schema::Field
      # Override #initialize to take a new argument:
      def initialize(
        *args,
        cache: false,
        **kwargs,
        &block
      )
        @cache_config = if cache.is_a? Hash
                          cache
                        else
                          { cache: cache }
                        end
        super(*args, **kwargs, &block)
      end

      def to_graphql
        field_defn = super # Returns a GraphQL::Field
        field_defn.metadata[:cache] = @cache_config
        field_defn
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
graphql-cache-0.2.0 lib/graphql/cache/field.rb