require 'rmail' require 'rmail/serialize' require 'net/smtp' require 'socket' module Reporting def self.report begin yield rescue Exception => e raise unless e.respond_to?(:target) error(e) exit(1) if e.fatal? end end def self.success message = "Build finished successfully at #{Time.now}" puts message send_mail("Build success", message) if $MAIL end def self.error(object) if object.kind_of?(SubcommandFailed) body = < File.basename(path)) part.body = '' File.open(path) do |file| part.body << file.readlines.join("\n") end self.add_part(part) end end end