Override precedence

Hi,

I am having trouble overriding methods in a plugin.
I am trying to apply a patch to attachment_fu by overriding a method
in on of the attachment_fu modules from with a file in my libs folder.

I am using the suggestions from http://epirsch.blogspot.com/2008/01/fixing-attachmentfu-on-windows-like.html

If I paste the change directly into the atachment fu module the fix
works. However if I try to make the fix from within my
attachment_fu_patch.rb it doesn't work and ruby appears to be still
calling the original method.

This makes me ask the question: If you re-open modules and /or classes
multiple times and override methods, how does ruby know which one is
the "latest". ie how can I ensure that my override is the one that is
called?

Cheers
George

Chronological order of file loading, pure and simple. if files overide_a and overide_b both define the same method on the same class, then if ruby loads a first then the final method definition will be the one in b (and vice versa). Ruby isn't doing any clever tracking of anything - stuff just gets overwritten

Fred

Thanks for the reply Fred.
But that just creates a new question.. How do I ensure that my patch
file is loaded after the plugin?

G.

Thanks for the reply Fred.
But that just creates a new question.. How do I ensure that my patch
file is loaded after the plugin?

stuff in config/initializers should be loaded after plugins.

Fred