aboutsummaryrefslogtreecommitdiff
path: root/vendor/supply_drop/lib/supply_drop/async_enumerable.rb
blob: 1d5a116cbef16ea5dcbd03415d619faacf388c6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module SupplyDrop
  module AsyncEnumerable
    def each(&block)
      pool = SupplyDrop::ThreadPool.new(SupplyDrop::Util.thread_pool_size)
      super do |item|
        pool.schedule(item, &block)
      end
      pool.shutdown
    end

    def map(&block)
      pool = SupplyDrop::ThreadPool.new(SupplyDrop::Util.thread_pool_size)
      super do |item|
        pool.schedule(item, &block)
      end
      pool.shutdown
    end
  end
end