Sha256: ffe1e553bcb984fc994a558eba8ad82d9a60037f2807b9f77b3c57ac0d2c2880

Contents?: true

Size: 1.04 KB

Versions: 14

Compression:

Stored size: 1.04 KB

Contents

require 'bearcat/version'
require 'bearcat/client'
require 'bearcat/redis_connection'

module Bearcat
  class << self
    require 'logger'
    attr_accessor :master_rate_limit
    attr_writer :rate_limit_min, :rate_limits, :max_sleep_seconds,
                :min_sleep_seconds, :logger, :rate_limiter

    def configure
      yield self if block_given?
    end

    def rate_limiter
      @rate_limiter
    end

    def rate_limit_min
      @rate_limit_min ||= 175
    end

    def min_sleep_seconds
      @min_sleep_seconds ||= 5
    end

    def max_sleep_seconds
      @max_sleep_seconds ||= 60
    end

    def logger
      return @logger if defined? @logger
      @logger = Logger.new(STDOUT)
      @logger.level = Logger::DEBUG
      @logger
    end

    def redis_pool
      require 'bearcat/redis_connection'
      @redis_pool ||= Bearcat::RedisConnection.create(env_prefix: "BEARCAT")
    end

    def redis
      raise ArgumentError, "requires a block" unless block_given?
      redis_pool.with do |conn|
        yield conn
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bearcat-1.5.37 lib/bearcat.rb
bearcat-1.5.36 lib/bearcat.rb
bearcat-1.5.35 lib/bearcat.rb
bearcat-1.5.34 lib/bearcat.rb
bearcat-1.5.33 lib/bearcat.rb
bearcat-1.5.32 lib/bearcat.rb
bearcat-1.5.31 lib/bearcat.rb
bearcat-1.5.30 lib/bearcat.rb
bearcat-1.5.29 lib/bearcat.rb
bearcat-1.5.28 lib/bearcat.rb
bearcat-1.5.28.beta1 lib/bearcat.rb
bearcat-1.5.26 lib/bearcat.rb
bearcat-1.5.24 lib/bearcat.rb
bearcat-1.5.23 lib/bearcat.rb