Rails model objects do not compare with '==' under jRuby 1.7.1 #225

ayqazi opened this Issue Dec 8, 2012 · 2 comments


None yet

2 participants

ayqazi commented Dec 8, 2012


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, it works. I am running jRuby in 1.9 mode with --1.9.

Basically, I was just doing a 'Person.first == Person.first', and it was true under, and false under 1.7.1 .

Any idea what's up? jRuby 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
see https://github.com/andreasronge/neo4j-wrapper/blob/master/lib/neo4j-wrapper/node_mixin/delegates.rb

Not sure when I will have to time to investigate this more. But I'm curious ...

ayqazi commented Dec 17, 2012

Thanks so much for fixing that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment