Module: GraphQL::PersistedQueries::StoreAdapters

Defined in:
lib/graphql/persisted_queries/store_adapters.rb,
lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb,
lib/graphql/persisted_queries/store_adapters/redis_store_adapter.rb,
lib/graphql/persisted_queries/store_adapters/memory_store_adapter.rb,
lib/graphql/persisted_queries/store_adapters/redis_client_builder.rb,
lib/graphql/persisted_queries/store_adapters/memcached_store_adapter.rb,
lib/graphql/persisted_queries/store_adapters/memcached_client_builder.rb,
lib/graphql/persisted_queries/store_adapters/redis_with_local_cache_store_adapter.rb

Overview

Contains factory methods for store adapters

Defined Under Namespace

Classes: BaseStoreAdapter, MemcachedClientBuilder, MemcachedStoreAdapter, MemoryStoreAdapter, RedisClientBuilder, RedisStoreAdapter, RedisWithLocalCacheStoreAdapter

Class Method Summary collapse

Class Method Details

.build(adapter, **options) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/graphql/persisted_queries/store_adapters.rb', line 13

def self.build(adapter, **options)
  if adapter.is_a?(StoreAdapters::BaseStoreAdapter)
    adapter
  else
    build_by_name(adapter, **options)
  end
end

.build_by_name(name, **options) ⇒ Object



21
22
23
24
25
# File 'lib/graphql/persisted_queries/store_adapters.rb', line 21

def self.build_by_name(name, **options)
  const_get("#{BuilderHelpers.camelize(name)}StoreAdapter").new(**options)
rescue NameError => e
  raise e.class, "Persisted query store adapter for :#{name} haven't been found", e.backtrace
end