class JobGrabber::Base

Public Class Methods

new(sources) click to toggle source
# File lib/base.rb, line 5
def initialize(sources)
  @sources = sources
end

Public Instance Methods

grab() click to toggle source
# File lib/base.rb, line 8
def grab
  jobs = Array.new
  mutex = Mutex.new
  threads = Array.new
  @sources.each do |src|
    threads << Thread.new(src, jobs) do |src, jobs|
      src_jobs = JobGrabber::SrcGrabber.new(src).grab
      mutex.synchronize do
        (jobs << src_jobs).flatten!
      end
    end
  end
  threads.each(&:join)
  jobs
end