Class: Polipus::QueueOverflow::Manager
- Inherits:
-
Object
- Object
- Polipus::QueueOverflow::Manager
- Defined in:
- lib/polipus/queue_overflow/manager.rb
Instance Attribute Summary collapse
-
#url_filter(&block) ⇒ Object
Returns the value of attribute url_filter.
Instance Method Summary collapse
-
#initialize(polipus, main_q, item_limit) ⇒ Manager
constructor
A new instance of Manager.
- #perform ⇒ Object
Constructor Details
#initialize(polipus, main_q, item_limit) ⇒ Manager
Returns a new instance of Manager.
5 6 7 8 9 10 11 |
# File 'lib/polipus/queue_overflow/manager.rb', line 5 def initialize(polipus, main_q, item_limit) @polipus = polipus @main_q = main_q @adapter = @polipus.queue_overflow_adapter @item_limit = item_limit @redis = @polipus.redis end |
Instance Attribute Details
#url_filter(&block) ⇒ Object
Returns the value of attribute url_filter.
4 5 6 |
# File 'lib/polipus/queue_overflow/manager.rb', line 4 def url_filter @url_filter end |
Instance Method Details
#perform ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/polipus/queue_overflow/manager.rb', line 17 def perform removed = 0 restored = 0 if @main_q.size > @item_limit removed = rotate @main_q, @adapter,(@main_q.size - @item_limit) elsif @main_q.size < @item_limit && !@adapter.empty? restored = rotate @adapter, @main_q,(@item_limit - @main_q.size) end [removed, restored] end |