Adding a method to ActiveRecord

Hi, I’d like to add a generic function to all my models. Basically a
function that will handle setting/unsetting flags in various models. Is
there a way I could add this to ActiveRecord’s Base class and then use
it all throughout my models? Where could I add this and how?

Thanks,

Sam

On 10/2/06, Sam D. [email protected] wrote:

Hi, I’d like to add a generic function to all my models. Basically a
function that will handle setting/unsetting flags in various models. Is
there a way I could add this to ActiveRecord’s Base class and then use
it all throughout my models? Where could I add this and how?

Thanks,

Sam

In the lib directory create a file and in it use

module ActiveRecord
class Base
def my_method
end
end

I think that should be automatically loaded and included (not sure if
it’s
completely automagic). Alternatively you can put that in you
environment.rband it will get included.

I’m sure there are many other ways of doing this though. This may not
be
the best one.

On Oct 2, 2006, at 7:40 AM, Sam D. wrote:

Hi, I’d like to add a generic function to all my models. Basically a
function that will handle setting/unsetting flags in various
models. Is
there a way I could add this to ActiveRecord’s Base class and then use
it all throughout my models? Where could I add this and how?

Just subclass ActiveRecord::Base:

class MyBaseExtension < ActiveRecord::Base
self.abstract_class = true
# …
end

and then make all models inherit from MyBaseExtension.

– fxn

There is (also) a toggle on ActiveRecord which is really useful.

http://ar.rubyonrails.com/classes/ActiveRecord/Base.html#M000399

Vish