class GraphQL::PersistedQueries::StoreAdapters::MemcachedClientBuilder
Builds Redis object instance based on passed hash
Public Class Methods
new(memcached_url: nil, memcached_host: nil, memcached_port: nil, **dalli_args)
click to toggle source
# 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
Public Instance Methods
build()
click to toggle source
# 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
Private Instance Methods
build_memcached_url()
click to toggle source
# File lib/graphql/persisted_queries/store_adapters/memcached_client_builder.rb, line 32 def build_memcached_url "#{@memcached_host}:#{@memcached_port}" end