<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -16,7 +16,9 @@ module DataMapper
       def has_tags_on(*args)
         args.flatten!
         args.uniq!
-
+        
+        self.extend(DataMapper::Tags::SingletonMethods)
+        
         args.map{|arg| arg.to_sym}.each do |arg|
           class_eval &lt;&lt;-RUBY
           property :frozen_#{arg.to_s.singular}_list, String
@@ -55,20 +57,8 @@ module DataMapper
           end
         RUBY
       end
-      class_eval do
-        class &lt;&lt; self
-          def taggable?
-            true
-          end
-        end
-      end
     end
 
-  # Class Methods
-  def tagged_with(string)
-    Tag.first(:name =&gt; string).taggables
-  end
-
   def has_tags(*args)
     has_tags_on :tags
   end
@@ -78,6 +68,17 @@ module DataMapper
   end
 end
 
+module SingletonMethods
+  # Class Methods
+  def tagged_with(string)
+    Tag.first(:name =&gt; string).taggables
+  end
+  
+  def taggable?
+    true
+  end
+end
+
 module InstanceMethods
   def taggable?
     self.class.taggable?</diff>
      <filename>lib/dm_tags/dm_tags.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,6 @@ libs =  &quot; -r irb/completion&quot;
 # libs &lt;&lt; &quot; -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}&quot;
 libs &lt;&lt; &quot; -r dm-core&quot;
 libs &lt;&lt; &quot; -r #{File.dirname(__FILE__) + '/../lib/dm-tags.rb'}&quot;
-libs &lt;&lt; &quot; -r #{File.dirname(__FILE__) + '/../spec/classes.rb'}&quot;
 libs &lt;&lt; &quot; -r #{File.dirname(__FILE__) + '/../spec/dm-setup.rb'}&quot;
 puts &quot;Loading dm-tags gem&quot;
 exec &quot;#{irb} #{libs} --simple-prompt&quot;
\ No newline at end of file</diff>
      <filename>script/console</filename>
    </modified>
    <modified>
      <diff>@@ -63,6 +63,7 @@ describe &quot;Taggable&quot; do
     taggable.tag_list = 'tag1, goat, fish'
     taggable.save
     DefaultTaggedModel.tagged_with('tag1').sort_by{|t| t.id}.to_a.should == [@taggable, taggable]
+    UntaggedModel.should_not respond_to(:tagged_with)
   end
   
   it &quot;should have a class method .taggable? which returns true if tagging is defined, and false otherwise&quot; do</diff>
      <filename>spec/dm_tags/taggable_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d5415153cb7081efe44cbdb5bf621cb67f900fea</id>
    </parent>
  </parents>
  <author>
    <name>bobby</name>
    <email>bobby_calderwood@mac.com</email>
  </author>
  <url>http://github.com/bobby/dm-tags/commit/f9f69227001ee3490bf60c59ee8eccb283b81e52</url>
  <id>f9f69227001ee3490bf60c59ee8eccb283b81e52</id>
  <committed-date>2008-07-29T15:44:54-07:00</committed-date>
  <authored-date>2008-07-29T15:44:54-07:00</authored-date>
  <message>Fixed .tagged_with bug.</message>
  <tree>81cbf25112eba1344c9c9f6e1081f0125db8aaa9</tree>
  <committer>
    <name>bobby</name>
    <email>bobby_calderwood@mac.com</email>
  </committer>
</commit>
