I’m using a decorator class to add some functionality to a model of mine. I only want this information to be used to process some values but not to save anything to the database.
I have my decorator class, something like:
class Deco
def initialize o
@target = o
end
def method_missing method, *args, &block
@target.send(method, *args, &block)
end
#my extra methods
end
And I use it like so:
deco_model = Deco.new(model)
There problem here is when I want to associate this deco_mode to another one, I get a type mismatch error, which makes sense, but if I add the following method to my decorator class:
def class
@target.class
end
I still get the same error, but it says: Model(#aaaaaa) expected, got Model(#aaaaa)
Yes, the “Model” would be the class of my model, and the object id is the same in both cases… so if the object id is the same, why am I still getting the exception?
Thanks
Turns out I also had to overwrite the
is_a?method used insideActiveRecord::Associaions::AssociationAfter doing:
The exception is not being thrown anymore.