diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-11-24 16:25:11 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-11-24 16:25:11 +0000 |
commit | 278345193b1dc96c31528882e7bb1b4fc160fcb2 (patch) | |
tree | 963c7acb794c0bf516d201337e9f4be4e3a29d3e | |
parent | 9b742b290ecfb2ea224d68c5e5f6e65518623047 (diff) |
Added new alert-type, to merely write to a file.
-rw-r--r-- | lib/custodian/alerts.rb | 1 | ||||
-rw-r--r-- | lib/custodian/alerts/file.rb | 66 | ||||
-rwxr-xr-x | t/test-custodian-alertfactory.rb | 2 |
3 files changed, 68 insertions, 1 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 diff --git a/t/test-custodian-alertfactory.rb b/t/test-custodian-alertfactory.rb index 602ef5f..ede6aa7 100755 --- a/t/test-custodian-alertfactory.rb +++ b/t/test-custodian-alertfactory.rb @@ -30,7 +30,7 @@ class TestAlertFactory < Test::Unit::TestCase # # Ensure we can create each of the two alert types we care about # - %w( mauve smtp ).each do |name| + %w( file mauve smtp ).each do |name| # # Use the factory to instantiate the correct object. |