Class: SimpleRateLimiter::Domain::RateLimit
- Inherits:
-
Object
- Object
- SimpleRateLimiter::Domain::RateLimit
- Defined in:
- lib/domain/rate_limit.rb
Instance Method Summary collapse
- #exceeded?(records, time = Time.now.to_i) ⇒ Boolean
-
#initialize(rate_limit, limit_period) ⇒ RateLimit
constructor
A new instance of RateLimit.
Constructor Details
#initialize(rate_limit, limit_period) ⇒ RateLimit
Returns a new instance of RateLimit.
4 5 6 7 |
# File 'lib/domain/rate_limit.rb', line 4 def initialize(rate_limit, limit_period) @rate_limit = rate_limit @limit_period = limit_period end |
Instance Method Details
#exceeded?(records, time = Time.now.to_i) ⇒ Boolean
9 10 11 12 13 14 15 16 17 |
# File 'lib/domain/rate_limit.rb', line 9 def exceeded?(records, time = Time.now.to_i) if records.length >= @rate_limit time_elapsed = time - records.last.to_i return true if time_elapsed < @limit_period end false end |