If I have two objects A and B where each is of the same type but have
arbitrarily complex object graphs, will the result of A eql? B be false
if ANY part of the object graph differs, no matter how deep it is?
In my specific case, A and B are ActiveRecord objects with lots of
“has_many” dependencies.
Sorry I wasted a post. I just tried this and found that eql? does not
compare all the way down the object tree.
There is no general implementation defined for eql? - every class
decides for itself how it is done. In case a class does not implement
it it will inherit eql? from any of its superclasses.
Does anyone know of a generic method for doing this?
Well, you could try to traverse both object graphs and compare each
instance. But this is pretty tedious.
In a Rails app, I was trying to determine whether or not to take a
particular action based on whether or not an object had been changed via
a form. I ended up doing it in an object-specific way and it was fine.
Thanks for the help,
Wes
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.