lib/gitdocs.rb in gitdocs-0.2.0 vs lib/gitdocs.rb in gitdocs-0.3.0
- old
+ new
@@ -7,35 +7,35 @@
require 'rb-fsevent'
require 'growl'
require 'yajl'
require 'dante'
-
module Gitdocs
DEBUG = ENV['DEBUG']
def self.run(config_root = nil, debug = DEBUG)
loop do
config = Configuration.new(config_root)
+ yield config if block_given?
puts "Gitdocs v#{VERSION}" if debug
puts "Using configuration root: '#{config.config_root}'" if debug
- puts "Watch paths: #{config.paths.join(", ")}" if debug
+ puts "Shares: #{config.shares.map(&:inspect).join(", ")}" if debug
# Start the repo watchers
runners = []
- threads = config.paths.map do |path|
+ threads = config.shares.map do |share|
t = Thread.new(runners) { |r|
- runner = Runner.new(path)
+ runner = Runner.new(share)
r << runner
runner.run
}
t.abort_on_exception = true
t
end
sleep 1
unless defined?(pid) && pid
# Start the web front-end
- pid = fork { Server.new(*runners).start }
+ pid = fork { Server.new(config, *runners).start }
at_exit { Process.kill("KILL", pid) rescue nil }
end
puts "Watch threads: #{threads.map { |t| "Thread status: '#{t.status}', running: #{t.alive?}" }}" if debug
puts "Joined #{threads.size} watch threads...running" if debug
threads.each(&:join)