Commit 31f0cc9b authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Rename JsDuck::ParallelWrap to JsDuck::Util::Parallel.

parent b7fdbd87
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ require 'jsduck/class_formatter'
require 'jsduck/class'
require 'jsduck/relations'
require 'jsduck/inherit_doc'
require 'jsduck/parallel_wrap'
require 'jsduck/util/parallel'
require 'jsduck/logger'
require 'jsduck/assets'
require 'jsduck/util/json'
@@ -37,7 +37,7 @@ module JsDuck
      @opts = opts
      # Sets the nr of parallel processes to use.
      # Set to 0 to disable parallelization completely.
      ParallelWrap.in_processes = @opts.processes
      Util::Parallel.in_processes = @opts.processes
      # Turn JSON pretty-printing on/off
      Util::Json.pretty = @opts.pretty_json
    end
@@ -106,7 +106,7 @@ module JsDuck

    # Parses the files in parallel using as many processes as available CPU-s
    def parallel_parse(filenames)
      ParallelWrap.map(filenames) do |fname|
      Util::Parallel.map(filenames) do |fname|
        Logger.instance.log("Parsing", fname)
        begin
          Source::File.new(Util::IO.read(fname), fname, @opts)
@@ -171,7 +171,7 @@ module JsDuck
      # Don't format types when exporting
      class_formatter.include_types = !@opts.export
      # Format all doc-objects in parallel
      formatted_classes = ParallelWrap.map(@relations.classes) do |cls|
      formatted_classes = Util::Parallel.map(@relations.classes) do |cls|
        files = cls[:files].map {|f| f[:filename] }.join(" ")
        Logger.instance.log("Markdown formatting #{cls[:name]}", files)
        begin
+3 −3
Original line number Diff line number Diff line
require 'jsduck/parallel_wrap'
require 'jsduck/util/parallel'
require 'jsduck/logger'
require 'jsduck/util/json'
require 'jsduck/util/stdout'
@@ -24,13 +24,13 @@ module JsDuck
    private

    def write_stdout
      json = ParallelWrap.map(@relations.classes) {|cls| @exporter.export(cls) }.compact
      json = Util::Parallel.map(@relations.classes) {|cls| @exporter.export(cls) }.compact
      Util::Stdout.instance.add(json)
    end

    def write_dir(dir, extension)
      FileUtils.mkdir(dir)
      ParallelWrap.each(@relations.classes) do |cls|
      Util::Parallel.each(@relations.classes) do |cls|
        filename = dir + "/" + cls[:name] + extension
        Logger.instance.log("Writing docs", filename)
        json = @exporter.export(cls)
+2 −2
Original line number Diff line number Diff line
require 'jsduck/parallel_wrap'
require 'jsduck/util/parallel'
require 'jsduck/logger'
require 'jsduck/util/stdout'
require 'fileutils'
@@ -29,7 +29,7 @@ module JsDuck

    def write_dir(dir, extension)
      FileUtils.mkdir(dir) unless File.exists?(dir)
      ParallelWrap.each(all_guides) do |guide|
      Util::Parallel.each(all_guides) do |guide|
        filename = dir + "/" + guide["name"] + extension
        Logger.instance.log("Writing guide", filename)
        json = @exporter.export_guide(guide)
+2 −2
Original line number Diff line number Diff line
require 'jsduck/util/json'
require 'jsduck/null_object'
require 'jsduck/logger'
require 'jsduck/parallel_wrap'
require 'jsduck/util/parallel'

module JsDuck

@@ -35,7 +35,7 @@ module JsDuck
    # Reads in data from all .json files in directory
    def read(ver)
      # Map list of files into pairs of (classname, members-hash)
      pairs = ParallelWrap.map(Dir[ver[:path] + "/*.json"]) do |filename|
      pairs = Util::Parallel.map(Dir[ver[:path] + "/*.json"]) do |filename|
        JsDuck::Logger.instance.log("Importing #{ver[:version]}", filename)
        json = Util::Json.read(filename)
        [json["name"],  members_id_index(json)]

lib/jsduck/parallel_wrap.rb

deleted100644 → 0
+0 −32
Original line number Diff line number Diff line
require 'parallel'

module JsDuck

  # Wrapper around the parallel gem that falls back to simple
  # Array#map and Array#each when :in_processes => 0 specified.
  class ParallelWrap
    @@in_processes = nil

    # Sets globally the nr of processes to use.
    def self.in_processes=(n)
      @@in_processes = n
    end

    def self.each(arr, &block)
      if @@in_processes == 0
        arr.each &block
      else
        Parallel.each(arr, {:in_processes => @@in_processes}, &block)
      end
    end

    def self.map(arr, &block)
      if @@in_processes == 0
        arr.map &block
      else
        Parallel.map(arr, {:in_processes => @@in_processes}, &block)
      end
    end
  end

end
Loading