summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/custodian/alerts.rb1
-rw-r--r--lib/custodian/alerts/file.rb66
2 files changed, 67 insertions, 0 deletions
diff --git a/lib/custodian/alerts.rb b/lib/custodian/alerts.rb
index 74d021b..eb12215 100644
--- a/lib/custodian/alerts.rb
+++ b/lib/custodian/alerts.rb
@@ -14,6 +14,7 @@ require 'custodian/alertfactory'
#
# The individual alert-types.
#
+require 'custodian/alerts/file'
require 'custodian/alerts/mauve'
require 'custodian/alerts/smtp'
diff --git a/lib/custodian/alerts/file.rb b/lib/custodian/alerts/file.rb
new file mode 100644
index 0000000..12bf907
--- /dev/null
+++ b/lib/custodian/alerts/file.rb
@@ -0,0 +1,66 @@
+
+
+
+#
+# The SMTP-alerter.
+#
+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 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