Module: Bottleneck

Defined in:
lib/bottleneck.rb,
lib/bottleneck/core.rb,
lib/bottleneck/version.rb,
lib/bottleneck/constants.rb

Defined Under Namespace

Classes: Constants, Core

Constant Summary collapse

VERSION =
"0.4.4".freeze

Class Method Summary collapse

Class Method Details

.check(ip) ⇒ Object

Run method call on Core object

Parameters:

  • A (String)

    name to uniquely identify this rate limit. For example, ‘127.0.0.1’



12
13
14
# File 'lib/bottleneck.rb', line 12

def check(ip)
  Core.new(ip).run
end

.configHash

Load limits config file

Returns:

  • (Hash)

    Hash for bottleneck.yml file



41
42
43
# File 'lib/bottleneck.rb', line 41

def config
  load_config("bottleneck.yml")
end

.init_storageRedis::Namespace

Init Redis Namespace storage

Returns:

  • (Redis::Namespace)

    Redis::Namespace instance



34
35
36
# File 'lib/bottleneck.rb', line 34

def init_storage
  Redis::Namespace.new(:bottleneck, redis: redis_conn)
end

.redis_connRedis

Init Redis instance

Returns:

  • (Redis)

    Redis instance



26
27
28
29
# File 'lib/bottleneck.rb', line 26

def redis_conn
  redis_conf = load_config("redis.yml")
  Redis.new(host: redis_conf["host"], port: redis_conf["port"])
end

.storageRedis::Namespace

Init Redis Namespace storage

Returns:

  • (Redis::Namespace)

    Redis::Namespace instance



19
20
21
# File 'lib/bottleneck.rb', line 19

def storage
  init_storage
end