Module: Limiter::Mixin
- Defined in:
- lib/limiter/mixin.rb
Instance Method Summary collapse
Instance Method Details
#limit_method(method, rate:, interval: 60) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/limiter/mixin.rb', line 5 def limit_method(method, rate:, interval: 60) queue = RateQueue.new(rate, interval: interval) mixin = Module.new do define_method(method) do |*args| queue.shift super(*args) end end prepend mixin end |