[Updated for Rails 3]
Rails 3
class Speaker < ActiveRecord::Base
def self.with_name_or_keyword(term)
Speaker.where("speakers.name like ? or speakers.bio like ? or speakers.tagline like ?", "%#{term}", "%#{term}", "%#{term}")
end
end
Will work with somethign like
Speaker.with_name_or_keyword("Bill")
Rails 2.3
named_scope :with_name_or_keyword, lambda { |*args| {:conditions => ["speakers.name like ? OR speakers.bio like ? OR speakers.tagline like ?", ("%#{args.first}%" || ""), ("%#{args.first}%" || ""), ("%#{args.first}%" || "")]} }
will work with something like this:
Speaker.fuzzy_name_find("Bill")