module Neo4j::ActiveNode
Public Instance Methods
even_easier_id()
click to toggle source
# File lib/neo4j/even_easier_id.rb, line 20 def even_easier_id @@mutex.lock begin count = @@counter = (@@counter + 1) % 0xFFFFFF ensure @@mutex.unlock rescue nil end machine_id = Digest::MD5.digest(Socket.gethostname).unpack("N")[0] process_id = RUBY_ENGINE == 'jruby' ? "#{Process.pid}#{Thread.current.object_id}".hash % 0xFFFF : Process.pid % 0xFFFF [ Time.now.to_i, machine_id, process_id, count << 8 ].pack("N NX lXX NX").unpack("H*")[0] end