This is a weird problem - I don't know if it's related to neo4j or jRuby, but I thought I'd mention it here. Using neo4j.rb 2.2.0 and jRuby 1.7.1, I found that comparing 2 objects that represent the same node return false when comparing with '=='. However, when I switch to the old version of jRuby I was using, jRuby 220.127.116.11, it works. I am running jRuby 18.104.22.168 in 1.9 mode with --1.9.
Basically, I was just doing a 'Person.first == Person.first', and it was true under 22.214.171.124, and false under 1.7.1 .
Any idea what's up? jRuby 126.96.36.199 emulates Ruby 1.9.2, wherever jRuby 1.7.1 emulates Ruby 1.9.3. Could that be the problem?
I'm switching back to jRuby 1.6 for now, as comparing 2 different objects that represent the same node in the graph DB and getting a return value of 'true' just seems the right thing to do.
Hmm, really strange.
The implementation is here:
The above mixin is used to extend the Neo4j Node/Relationship Java classes
The Neo4j Rails models delegates to the Java Node and Relationship objects
Not sure when I will have to time to investigate this more. But I'm curious ...
Thanks so much for fixing that