# frozen_string_literal: true if ENV['REDIS_URL'].blank? password = ENV.fetch('REDIS_PASSWORD') { '' } host = ENV.fetch('REDIS_HOST') { 'localhost' } port = ENV.fetch('REDIS_PORT') { 6379 } db = ENV.fetch('REDIS_DB') { 0 } ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}" end redis_connection = Redis.new( url: ENV['REDIS_URL'], driver: :hiredis ) cache_params = { expires_in: 10.minutes } namespace = ENV.fetch('REDIS_NAMESPACE') { nil } if namespace Redis.current = Redis::Namespace.new(namespace, :redis => redis_connection) cache_params[:namespace] = namespace + '_cache' else Redis.current = redis_connection end Rails.application.configure do config.cache_store = :redis_store, ENV['REDIS_URL'], cache_params end