lib/bhook/directory.rb in bhook-0.1.4 vs lib/bhook/directory.rb in bhook-0.1.5

- old
+ new

@@ -2,20 +2,20 @@ # frozen_string_literal: true module Bhook class Directory extend T::Sig - + GIT_DIR = '.git' MD_EXT = '.md' - + sig { params(src_path: Pathname, out_path: Pathname).returns(Bhook::Directory) } def self.new_root_directory(src_path, out_path) self.new(src_path, out_path, Git.open(src_path), Bhook::Config.new(src_path)) end - - + + sig { params(src_path: Pathname, out_path: Pathname, git: Git::Base, config: Bhook::Config).void } def initialize(src_path, out_path, git, config) @src_path = src_path @out_path = T.let(out_path.join(src_path.basename), Pathname) @git = git @@ -28,33 +28,33 @@ sig { params(theme: Theme).void } def write!(theme) FileUtils.mkdir_p(@out_path) L.debug("mkdir: #{@out_path}") @sub_dirs.each { |dir| dir.write!(theme) } - @md_files.map do |file| + @md_files.map do |file| Thread.new { file.write!(theme) } end.each do |thread| thread.join end end - + sig { returns(T::Array[MdFile]) } def all_md_files @md_files + @sub_dirs.map(&:all_md_files).flatten end sig { returns(String) } def to_s @src_path.to_s end - + private sig { void } def build_next_level_nodes children = @src_path.children children.delete(@src_path.join(GIT_DIR)) - + file_threads = [] children.each do |child_path| if child_path.directory? @sub_dirs << Directory.new(child_path, @out_path, @git, @config) elsif child_path.extname == MD_EXT