Class: GraphQL::PersistedQueries::StoreAdapters::RedisClientBuilder
- Inherits:
-
Object
- Object
- GraphQL::PersistedQueries::StoreAdapters::RedisClientBuilder
- Defined in:
- lib/graphql/persisted_queries/store_adapters/redis_client_builder.rb
Overview
Builds Redis object instance based on passed hash
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(redis_url: nil, redis_host: nil, redis_port: nil, redis_db_name: nil) ⇒ RedisClientBuilder
constructor
A new instance of RedisClientBuilder.
Constructor Details
#initialize(redis_url: nil, redis_host: nil, redis_port: nil, redis_db_name: nil) ⇒ RedisClientBuilder
Returns a new instance of RedisClientBuilder.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/graphql/persisted_queries/store_adapters/redis_client_builder.rb', line 8 def initialize(redis_url: nil, redis_host: nil, redis_port: nil, redis_db_name: nil) require "redis" @redis_url = redis_url @redis_host = redis_host @redis_port = redis_port @redis_db_name = redis_db_name rescue LoadError => e msg = "Could not load the 'redis' 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/redis_client_builder.rb', line 21 def build if @redis_url && (@redis_host || @redis_port || @redis_db_name) raise ArgumentError, "redis_url cannot be passed along with redis_host, redis_port " \ "or redis_db_name options" end ::Redis.new(url: @redis_url || build_redis_url) end |