class Rake::Multilogs::Forks

@private

Public Class Methods

new(tasks:, args:, invocation_chain:) click to toggle source
# File lib/rake/multilogs/forks.rb, line 7
def initialize(tasks:, args:, invocation_chain:)
  @forks = tasks.map { |task|
    Fork.new(
      task: task,
      args: args.new_scope(task.arg_names),
      invocation_chain: invocation_chain
    )
  }
end

Public Instance Methods

invoke() click to toggle source
# File lib/rake/multilogs/forks.rb, line 17
def invoke
  @forks
    .each(&:invoke)
    .each(&:wait)
    .each(&:report)

  abort if @forks.any?(&:failed?)
end