<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -10,19 +10,44 @@ module ActsAsKeyword::ClassMethods
     @@acts_as_keyword[ :fields ] = options[ :fields ]
   end
 
-  def find_by_keyword( keyword, options={} )
-    conditions,str = [], nil
-
+  def build_keyword_conditions( keyword )
+    conditions, str = [], nil
     qk = connection.quote( keyword )
     quoted_keyword = qk[0..0] + '%' + qk[1..-2] + '%' + qk[-1..-1]
     @@acts_as_keyword[:fields].each { |field|
-      str = &quot;#{field} LIKE #{quoted_keyword}&quot; 
+      str = &quot;#{self.table_name}.#{field} LIKE #{quoted_keyword}&quot; 
       conditions &lt;&lt; str }
+    conditions.join( ' OR ' )
+  end
+
+  def count_by_keyword( keyword, options={} )
+    conditions = build_keyword_conditions( keyword )
+STDERR.puts __LINE__,options.inspect
+    merge_finder_conditions_with_keyword_conditions( conditions, options )   
+STDERR.puts __LINE__,options.inspect
+    self.count( options )
+  end
 
-    options[:conditions] = conditions.join( ' OR ' )
+  def find_by_keyword( keyword, options={} )
+    conditions = build_keyword_conditions( keyword )
+    merge_finder_conditions_with_keyword_conditions( conditions, options )
     self.find( :all, options )
   end
 
+  def merge_finder_conditions_with_keyword_conditions( conditions, options )
+    options[:conditions] = nil unless options.has_key?( :conditions )
+    case options[:conditions].class
+      when String
+        options[:conditions] &lt;&lt; &quot; #{conditions}&quot;
+      when Array
+        options[:conditions][0] &lt;&lt; &quot; #{conditions}&quot;
+      when Hash
+        options[:conditions] = [ conditions, options[:conditions] ]
+      else
+        options[:conditions] = conditions
+    end
+  end
+
 end
 
 ActiveRecord::Base.extend( ActsAsKeyword::ClassMethods )</diff>
      <filename>acts_as_keyword/lib/acts_as_keyword.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2159f4ca903360c070c6445b9ed55bb3d02b6c8e</id>
    </parent>
  </parents>
  <author>
    <name>zachdennis</name>
    <email>zachdennis@5128a5ed-121c-0410-8d5c-98af306bc9be</email>
  </author>
  <url>http://github.com/zdennis/ar-extensions/commit/8b3eeddf697b9fe0c2649244e359c69aee7c9576</url>
  <id>8b3eeddf697b9fe0c2649244e359c69aee7c9576</id>
  <committed-date>2006-10-01T19:22:18-07:00</committed-date>
  <authored-date>2006-10-01T19:22:18-07:00</authored-date>
  <message>Added functionality to find and count by keywords. No tests for this currently.

git-svn-id: svn+ssh://rubyforge.org/var/svn/arext/trunk@13 5128a5ed-121c-0410-8d5c-98af306bc9be</message>
  <tree>e504ddac7987be2c2d0886f28c3a9bed43b4bdb3</tree>
  <committer>
    <name>zachdennis</name>
    <email>zachdennis@5128a5ed-121c-0410-8d5c-98af306bc9be</email>
  </committer>
</commit>
