Sha256: 84865ae54d6bd29517816f580a24770e0c041e542c9b49b77d4e7fe712e65637
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'gitdocs/version' require 'gitdocs/configuration' require 'gitdocs/runner' require 'gitdocs/server' require 'gitdocs/cli' require 'thread' 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 "Shares: #{config.shares.map(&:inspect).join(", ")}" if debug # Start the repo watchers runners = [] threads = config.shares.map do |share| t = Thread.new(runners) { |r| 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(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) sleep(60) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gitdocs-0.3.0 | lib/gitdocs.rb |