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.
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?
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