<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -40,17 +40,6 @@ module Integrity
     DataMapper.setup(:default, self.config[:database_uri])
   end
 
-  def self.register_notifier(klass)
-    raise ArgumentError unless valid_notifier?(klass)
-
-    self.notifiers[klass.to_s.split(&quot;:&quot;).last] = klass
-  end
-
-  def self.notifiers
-    @notifiers ||= {}
-    @notifiers
-  end
-
   def self.default_configuration
     @defaults ||= { :database_uri      =&gt; &quot;sqlite3::memory:&quot;,
                     :export_directory  =&gt; &quot;/tmp/exports&quot;,
@@ -80,15 +69,9 @@ module Integrity
   end
   private_class_method :logger
 
-  def self.valid_notifier?(notifier)
-    notifier.respond_to?(:to_haml) &amp;&amp; notifier.respond_to?(:notify_of_build) &amp;&amp;
-      notifier != Notifier::Base
-  end
-  private_class_method :valid_notifier?
-
-    class LogFormatter &lt; Logger::Formatter
-      def call(severity, time, progname, msg)
-        time.strftime(&quot;[%H:%M:%S] &quot;) + msg2str(msg) + &quot;\n&quot;
-      end
+  class LogFormatter &lt; Logger::Formatter
+    def call(severity, time, progname, msg)
+      time.strftime(&quot;[%H:%M:%S] &quot;) + msg2str(msg) + &quot;\n&quot;
     end
+  end
 end</diff>
      <filename>lib/integrity.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,13 +15,22 @@ module Integrity
     validates_is_unique :name, :scope =&gt; :project_id
     validates_present :project_id
 
+    def self.available
+      @@_notifiers ||= {}
+      @@_notifiers
+    end
+
     def self.register(klass)
-      Integrity.register_notifier(klass)
+      raise ArgumentError unless valid?(klass)
+
+      available[klass.to_s.split(&quot;:&quot;).last] = klass
     end
 
-    def self.available
-      Integrity.notifiers
+    def self.valid?(notifier)
+      notifier.respond_to?(:to_haml) &amp;&amp; notifier.respond_to?(:notify_of_build) &amp;&amp;
+        notifier != Notifier::Base
     end
+    private_class_method :valid?
 
     def notify_of_build(build)
       to_const.notify_of_build(build, config)</diff>
      <filename>lib/integrity/notifier.rb</filename>
    </modified>
    <modified>
      <diff>@@ -77,8 +77,9 @@ class Test::Unit::TestCase
     Notifier.available.each { |n|
       Notifier.send(:remove_const, n.to_s.split(&quot;:&quot;).last.to_sym)
     }
+
+    Notifier.available.clear
     Integrity.instance_variable_set(:@config, nil)
-    Integrity.instance_variable_set(:@notifiers, nil)
   end
 
   after(:each) do</diff>
      <filename>test/helpers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,21 +32,4 @@ class IntegrityTest &lt; Test::Unit::TestCase
     Integrity.config[:foo] = &quot;bar&quot;
     Integrity.config[:foo].should == &quot;bar&quot;
   end
-
-  describe &quot;Registering a notifier&quot; do
-    it &quot;registers given notifier class&quot; do
-      load &quot;helpers/acceptance/textfile_notifier.rb&quot;
-
-      Integrity.register_notifier(Integrity::Notifier::Textfile)
-      assert_equal Integrity::Notifier::Textfile, Integrity.notifiers[&quot;Textfile&quot;]
-    end
-
-    it &quot;raises ArgumentError if given class is not a valid notifier&quot; do
-      assert_raise(ArgumentError) {
-        Integrity.register_notifier(Class.new)
-      }
-
-      assert Integrity.notifiers.empty?
-    end
-  end
 end</diff>
      <filename>test/unit/integrity_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -66,11 +66,23 @@ class NotifierTest &lt; Test::Unit::TestCase
     end
   end
 
-  test &quot;managing available notifiers&quot; do
-    Notifier.gen(:irc)
-    Notifier.register(Integrity::Notifier::IRC)
+  describe &quot;Registering a notifier&quot; do
+    it &quot;registers given notifier class&quot; do
+      load &quot;helpers/acceptance/textfile_notifier.rb&quot;
+
+      Notifier.register(Integrity::Notifier::Textfile)
+
+      assert_equal Integrity::Notifier::Textfile,
+        Notifier.available[&quot;Textfile&quot;]
+    end
+
+    it &quot;raises ArgumentError if given class is not a valid notifier&quot; do
+      assert_raise(ArgumentError) {
+        Notifier.register(Class.new)
+      }
 
-    assert_equal 1, Notifier.available.size
+      assert Notifier.available.empty?
+    end
   end
 
   it &quot;knows how to notify the world of a build&quot; do</diff>
      <filename>test/unit/notifier_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>728b832bb68759b373db48910f7023a6b73dcf80</id>
    </parent>
  </parents>
  <author>
    <name>Simon Rozet</name>
    <email>simon@rozet.name</email>
  </author>
  <url>http://github.com/foca/integrity/commit/6e60639c9841f41562e17b690d185d204396b474</url>
  <id>6e60639c9841f41562e17b690d185d204396b474</id>
  <committed-date>2009-04-05T08:08:30-07:00</committed-date>
  <authored-date>2009-04-05T07:33:55-07:00</authored-date>
  <message>Move notifier registering logic into one place</message>
  <tree>78ba0169139093d5ae570a7d84a6dfd242581c62</tree>
  <committer>
    <name>Simon Rozet</name>
    <email>simon@rozet.name</email>
  </committer>
</commit>
