def method_clash(other)
common_ancestor = (ancestors & other.ancestors).first
s = []
s += public_instance_methods(true)
s += private_instance_methods(true)
s += protected_instance_methods(true)
o = []
o += other.public_instance_methods(true)
o += other.private_instance_methods(true)
o += other.protected_instance_methods(true)
c = s & o
if common_ancestor
c -= common_ancestor.public_instance_methods(true)
c -= common_ancestor.private_instance_methods(true)
c -= common_ancestor.protected_instance_methods(true)
end
return c
end