Class: ActiveSupport::Testing::Parallelization::SharedQueueDistributor
- Inherits:
-
TestDistributor
- Object
- TestDistributor
- ActiveSupport::Testing::Parallelization::SharedQueueDistributor
- Defined in:
- activesupport/lib/active_support/testing/parallelization/test_distributor.rb
Overview
Shared queue distributor - workers compete for tests (work stealing). Internal/testing helper; not exposed as a public distribution mode.
Instance Method Summary collapse
- #add_test(test) ⇒ Object
- #close ⇒ Object
-
#initialize ⇒ SharedQueueDistributor
constructor
A new instance of SharedQueueDistributor.
- #interrupt ⇒ Object
- #pending? ⇒ Boolean
- #take ⇒ Object
Constructor Details
#initialize ⇒ SharedQueueDistributor
Returns a new instance of SharedQueueDistributor.
42 43 44 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 42 def initialize @queue = Queue.new end |
Instance Method Details
#add_test(test) ⇒ Object
46 47 48 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 46 def add_test(test) @queue << test end |
#close ⇒ Object
62 63 64 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 62 def close @queue.close end |
#interrupt ⇒ Object
54 55 56 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 54 def interrupt @queue.clear end |
#pending? ⇒ Boolean
58 59 60 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 58 def pending? !@queue.empty? end |
#take ⇒ Object
50 51 52 |
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 50 def take(...) @queue.pop end |