class ActionLimiter::RedisProvider

Private

Constants

MUTEX

Public Class Methods

connection_pool() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 35
def connection_pool
  MUTEX.synchronize do
    @connection_pool ||= unsafe_create_connection_pool
  end
end
pool_connection_timeout() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 19
def pool_connection_timeout
  ENV.fetch('ACTION_LIMITER_TIMEOUT', 30).to_i
end
pool_size() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 15
def pool_size
  ENV.fetch('ACTION_LIMITER_POOL_SIZE', 5).to_i
end
redis_connection_database() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 31
def redis_connection_database
  ENV.fetch('ACTION_LIMITER_REDIS_DB', 0).to_i
end
redis_connection_host() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 23
def redis_connection_host
  ENV.fetch('ACTION_LIMITER_REDIS_HOST', '127.0.0.1')
end
redis_connection_port() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 27
def redis_connection_port
  ENV.fetch('ACTION_LIMITER_REDIS_PORT', 6379).to_i
end
unsafe_create_connection_pool() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 41
def unsafe_create_connection_pool
  ConnectionPool.new(size: pool_size, timeout: pool_connection_timeout) do
    RedisProvider.unsafe_create_redis_connection
  end
end
unsafe_create_redis_connection() click to toggle source
# File lib/action_limiter/redis_provider.rb, line 47
def unsafe_create_redis_connection
  Redis.new(
    host: redis_connection_host,
    port: redis_connection_port,
    db: redis_connection_database
  )
end