Module: GraphQL::Cache

Defined in:
lib/graphql/cache.rb,
lib/graphql/cache/field.rb,
lib/graphql/cache/rails.rb,
lib/graphql/cache/builder.rb,
lib/graphql/cache/marshal.rb,
lib/graphql/cache/version.rb,
lib/graphql/cache/middleware.rb

Defined Under Namespace

Classes: Builder, Field, Marshal, Middleware, Rails

Constant Summary collapse

ConfigurationError =
Class.new(StandardError)
VERSION =
'0.2.0'.freeze
@@expiry =

90 minutes

5400
@@force =
false
@@namespace =
self.name
@@cache =
nil
@@logger =
nil

Class Method Summary collapse

Class Method Details

.cacheObject



23
# File 'lib/graphql/cache.rb', line 23

def self.cache; @@cache; end

.cache=(obj) ⇒ Object



24
# File 'lib/graphql/cache.rb', line 24

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

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



30
31
32
# File 'lib/graphql/cache.rb', line 30

def self.configure
  yield self
end

.expiryObject



11
# File 'lib/graphql/cache.rb', line 11

def self.expiry; @@expiry; end

.expiry=(obj) ⇒ Object



12
# File 'lib/graphql/cache.rb', line 12

def self.expiry=(obj); @@expiry=obj; end

.fetch(key, config: {}, &block) ⇒ Object



34
35
36
37
38
# File 'lib/graphql/cache.rb', line 34

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

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

.forceObject



15
# File 'lib/graphql/cache.rb', line 15

def self.force; @@force; end

.force=(obj) ⇒ Object



16
# File 'lib/graphql/cache.rb', line 16

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

.loggerObject



27
# File 'lib/graphql/cache.rb', line 27

def self.logger; @@logger; end

.logger=(obj) ⇒ Object



28
# File 'lib/graphql/cache.rb', line 28

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

.namespaceObject



19
# File 'lib/graphql/cache.rb', line 19

def self.namespace; @@namespace; end

.namespace=(obj) ⇒ Object



20
# File 'lib/graphql/cache.rb', line 20

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