Class: RateLimitedJira::Client::InProcessBased

Inherits:
RateLimitedJira::Client show all
Defined in:
lib/rate_limited_jira/client/in_process_based.rb

Constant Summary

Constants inherited from RateLimitedJira::Client

NO_RATE_INTERVAL_IN_SECONDS, NO_RATE_LIMIT_PER_INTERVAL

Instance Attribute Summary

Attributes inherited from RateLimitedJira::Client

#rate_interval_in_seconds, #rate_limit_per_interval

Instance Method Summary collapse

Methods inherited from RateLimitedJira::Client

build, #initialize, #original_request, #request

Constructor Details

This class inherits a constructor from RateLimitedJira::Client

Instance Method Details

#rate_limit(&block) ⇒ Object



8
9
10
11
12
# File 'lib/rate_limited_jira/client/in_process_based.rb', line 8

def rate_limit(&block)
  rate_queue.shift

  block.call
end

#rate_queueObject



14
15
16
17
# File 'lib/rate_limited_jira/client/in_process_based.rb', line 14

def rate_queue
  @rate_queue ||=
    Limiter::RateQueue.new(rate_limit_per_interval, interval: rate_interval_in_seconds)
end