Sha256: 3b8e2b4e5b94dae2c6212e19cd8f1a884d39f578b45a5dc2bc1d29f0ea293a6b
Contents?: true
Size: 967 Bytes
Versions: 13
Compression:
Stored size: 967 Bytes
Contents
require 'site_hook' require 'site_hook/logger' module SiteHook class Runner def initialize(argv = ARGV, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel) @argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout, stderr, kernel end def execute! exit_code = begin $stderr = @stderr $stdin = @stdin $stdout = @stdout SiteHook::PreLogger.new($stdin, $stdout, $stderr) SiteHook::Config.new SiteHook::Log.new($stdin, $stdout, $stderr) SiteHook::CLI.start(@argv) 0 rescue StandardError => e b = e.backtrace STDERR.puts("#{b.shift}: #{e.message} (#{e.class})") STDERR.puts(b.map{|s| "\tfrom #{s}"}.join("\n")) 1 rescue SystemExit => e STDERR.puts e.status 1 ensure $stderr = STDERR $stdin = STDIN $stdout = STDOUT end @kernel.exit(exit_code) end end end
Version data entries
13 entries across 13 versions & 1 rubygems