Module: StillActive::Workflow

Extended by:
Workflow
Includes:
VersionHelper
Included in:
Workflow
Defined in:
lib/still_active/workflow.rb

Instance Method Summary collapse

Methods included from VersionHelper

#find_version, #gem_version, #release_date, #up_to_date?

Instance Method Details

#callObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/still_active/workflow.rb', line 16

def call
  task = Async do
    barrier = Async::Barrier.new
    semaphore = Async::Semaphore.new(StillActive.config.parallelism, parent: barrier)
    result_object = {}
    StillActive.config.gems.each_with_object(result_object) do |gem, hash|
      semaphore.async do
        gem_info(gem_name: gem[:name], result_object: hash, gem_version: gem.dig(:version))
      end
    end
    barrier.wait
    result_object
  end
  task.wait
end