Sha256: d48807012cb54f6730514261bac7d2e662a1accb913e6462176120faaf447fa5

Contents?: true

Size: 619 Bytes

Versions: 1

Compression:

Stored size: 619 Bytes

Contents

require 'gemer'

require 'graphql/cache/version'
require 'graphql/cache/middleware'
require 'graphql/cache/field'
require 'graphql/cache/marshal'

module GraphQL
  module Cache
    include Gemer::Configurable

    setup_config do |c|
      c.attr :cache
      c.attr :expiry, 5400
      c.attr :force, false, in: [true, false]
      c.attr :logger
      c.attr :namespace, 'GraphQL::Cache'
    end

    def self.fetch(key, config: {}, &block)
      return block.call unless config[:metadata][:cache]

      Marshal[key].read(config, &block)
    end
  end
end

require 'graphql/cache/rails' if defined?(::Rails::Engine)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
graphql-cache-0.2.2 lib/graphql/cache.rb