# # The file-alerter. # # This alert just writes events to a flat-file. # module Custodian module Alerter class AlertFile < AlertFactory # # The test this alerter cares about # attr_reader :test # # Constructor - save the test-object away. # def initialize( obj ) @test = obj end # # Record a raise event for the given test. # def raise write_message( "RAISE: #{test.target} failed #{test.get_type}-test - #{test.error}" ) end # # Record the duration of the given test. # def duration( seconds ) write_message( "#{test.get_type}-test against #{test.target} took #{seconds}ms to complete" ) end # # Record a clear event for the given test. # def clear write_message( "CLEAR: #{test.target} failed #{test.get_type}-test" ) end # # Write the actual message to our target. # def write_message( msg ) file = File.open(@target, 'a') file.puts( "#{Time.now} #{msg}" ) file.close end register_alert_type 'file' end end end