Sha256: 1e3a8cc51f8148441e305536fc45cf6310f361e0d3d2859543e6dfae7b38596b

Contents?: true

Size: 1007 Bytes

Versions: 2

Compression:

Stored size: 1007 Bytes

Contents

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

module GraphQL
  module Cache
    ConfigurationError = Class.new(StandardError)

    @@expiry = 5400 # 90 minutes
    def self.expiry; @@expiry; end
    def self.expiry=(obj); @@expiry=obj; end

    @@force = false
    def self.force; @@force; end
    def self.force=(obj); @@force=obj; end

    @@namespace = self.name
    def self.namespace; @@namespace; end
    def self.namespace=(obj); @@namespace=obj; end

    @@cache = nil
    def self.cache; @@cache; end
    def self.cache=(obj); @@cache=obj; end

    @@logger = nil
    def self.logger; @@logger; end
    def self.logger=(obj); @@logger=obj; end

    def self.configure
      yield self
    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

2 entries across 2 versions & 1 rubygems

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