Class: GraphQL::PersistedQueries::StoreAdapters::MemcachedClientBuilder
- Inherits:
-
Object
- Object
- GraphQL::PersistedQueries::StoreAdapters::MemcachedClientBuilder
- Defined in:
- lib/graphql/persisted_queries/store_adapters/memcached_client_builder.rb
Overview
Builds Redis object instance based on passed hash
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(memcached_url: nil, memcached_host: nil, memcached_port: nil, **dalli_args) ⇒ MemcachedClientBuilder
constructor
A new instance of MemcachedClientBuilder.
Constructor Details
#initialize(memcached_url: nil, memcached_host: nil, memcached_port: nil, **dalli_args) ⇒ MemcachedClientBuilder
Returns a new instance of MemcachedClientBuilder.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/graphql/persisted_queries/store_adapters/memcached_client_builder.rb', line 8 def initialize(memcached_url: nil, memcached_host: nil, memcached_port: nil, **dalli_args) require "dalli" @memcached_url = memcached_url @memcached_host = memcached_host @memcached_port = memcached_port @dalli_args = dalli_args rescue LoadError => e msg = "Could not load the 'dalli' gem, please add it to your gemfile or " \ "configure a different adapter, e.g. use GraphQL::PersistedQueries, store: :memory" raise e.class, msg, e.backtrace end |
Instance Method Details
#build ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/graphql/persisted_queries/store_adapters/memcached_client_builder.rb', line 21 def build if @memcached_url && (@memcached_host || @memcached_port) raise ArgumentError, "memcached_url cannot be passed along with memcached_host or " \ "memcached_port options" end ::Dalli::Client.new(@memcached_url || build_memcached_url, **@dalli_args) end |