extending find() in a horrible way..

Hi all,

I'm trying to extend ActiveRecord::Base.find() to include a default scope with every query... I've pasted my dirty attempt below. Surely theres a better way?

Another problem with the below is that all the dynamic finder methods aren't effected.

Any ideas?

cheers -henry

class LinkCategory < ActiveRecord::Base

  def self.find(*args)     options = args.last.is_a?(Hash) ? args.pop : {}     sql = "site_id='#{some_integer}'"     if options[:conditions] && !options[:conditions].empty?       options[:conditions] += " AND #{sql}"     else       options[:conditions] = "#{sql}"     end     args << options     super(*args)   end

end

check out "with_scope"

http://rubyonrails.com/rails/classes/ActiveRecord/Base.html#M000892

however, read this as well. DHH has decided to make with_scope protected as of 2.0, so it could affect how you use it.

http://www.mail-archive.com/rubyonrails-core@googlegroups.com/msg00579.html

def find_in_site(*args)   with_scope :find => { ... } do     find *args   end end