From: Tim Pease Date: 2006-12-20T03:06:03+09:00 Subject: Re: compare two objects without take its ID in consideration On 12/19/06, Tim Pease wrote: > On 12/19/06, Jeremy Wells wrote: > > Lobosque Lucas wrote: > > > Is there a way to compare two objects without take its ID in > > > consideration? For example: > > > > > > # == > > > # > > > > > > It'll return false, because the object ID is different. But i want it to > > > return true, because the arguments (is it the right name?) are all > > > equal. > > > > > > Thanks > > > > > You can overwrite the == method: > > > > def ==(other_obj) > > true if self.str == other_obj.str and self.mdfel == other_obj.mdfel > > and self.name == other_obj.name > > end > > > A little, little more robust ... def ==( other ) return false unless self.class === other self.instance_variables.each do |v| return false unless self.instance_variable_get(v) == other.instance_variable_get(v) end true end Blessings, TwP