Class: NethttpAb::RequestsQueue
- Inherits:
-
Object
- Object
- NethttpAb::RequestsQueue
- Defined in:
- lib/requests_queue.rb
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(url_array) ⇒ RequestsQueue
constructor
A new instance of RequestsQueue.
- #lock_next_request ⇒ Object
- #release_locked_request(url) ⇒ Object
Constructor Details
#initialize(url_array) ⇒ RequestsQueue
Returns a new instance of RequestsQueue.
3 4 5 6 7 8 9 |
# File 'lib/requests_queue.rb', line 3 def initialize(url_array) @urls_queue = url_array @locked_urls = [] @num_of_requests = url_array.size @num_of_locked = 0 end |
Instance Method Details
#empty? ⇒ Boolean
28 29 30 |
# File 'lib/requests_queue.rb', line 28 def empty? @num_of_requests == 0 end |
#lock_next_request ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/requests_queue.rb', line 11 def lock_next_request if @num_of_requests > @num_of_locked @num_of_locked += 1 @locked_urls << @urls_queue.shift @locked_urls.last end end |
#release_locked_request(url) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/requests_queue.rb', line 19 def release_locked_request(url) if @num_of_locked > 0 @num_of_locked -= 1 @locked_urls.delete_if{|u| u == url} end @num_of_requests -= 1 if @num_of_requests > 0 end |