class Galago::RateLimiter::Configuration
Constants
- DEFAULT_API_KEY_HEADER
- DEFAULT_CALLBACK
- DEFAULT_LIMIT
Attributes
api_key_header[R]
counter[R]
limit[R]
Public Class Methods
new()
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 14 def initialize @limit = DEFAULT_LIMIT @api_key_header = DEFAULT_API_KEY_HEADER @callback = DEFAULT_CALLBACK end
Public Instance Methods
api_key_header=(api_key_header)
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 25 def api_key_header=(api_key_header) header = api_key_header.dup header.gsub!('-', '_') header.upcase! @api_key_header = "HTTP_#{header}".freeze end
callback(&block)
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 41 def callback(&block) if block_given? @callback = block else @callback end end
counter=(counter)
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 33 def counter=(counter) @counter = case counter.class.name when 'Dalli::Client' then MemcachedCounter.new(counter) when 'Redis' then RedisCounter.new(counter) else counter end end
limit=(limit)
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 20 def limit=(limit) raise ArgumentError.new("Limit must be a positive number") if limit < 1 @limit = limit end
reset!()
click to toggle source
# File lib/galago/rate_limiter/configuration.rb, line 49 def reset! @limit = DEFAULT_LIMIT @api_key_header = DEFAULT_API_KEY_HEADER end