Sha256: 8eab56b6fcfdce807455f548472a0e61ee5781518db6f6f354f2cfdafe225084

Contents?: true

Size: 709 Bytes

Versions: 92

Compression:

Stored size: 709 Bytes

Contents

module Neo4j
  module Shared
    module Identity
      def ==(other)
        other.class == self.class && other.id == id
      end
      alias eql? ==

      # Returns an Enumerable of all (primary) key attributes
      # or nil if model.persisted? is false
      def to_key
        _persisted_obj ? [id] : nil
      end

      # @return [Integer, nil] the neo4j id of the node if persisted or nil
      def neo_id
        _persisted_obj ? _persisted_obj.neo_id : nil
      end

      def id
        if self.class.id_property_name
          send(self.class.id_property_name)
        else
          # ActiveRel
          neo_id
        end
      end

      def hash
        id.hash
      end
    end
  end
end

Version data entries

92 entries across 92 versions & 2 rubygems

Version Path
neo4j-8.3.2 lib/neo4j/shared/identity.rb
neo4j-9.0.2 lib/neo4j/shared/identity.rb
neo4j-8.3.1 lib/neo4j/shared/identity.rb
neo4j-9.0.1 lib/neo4j/shared/identity.rb
neo4j-9.0.0 lib/neo4j/shared/identity.rb
neo4j-8.3.0 lib/neo4j/shared/identity.rb
neo4j-8.2.5 lib/neo4j/shared/identity.rb
neo4j-8.2.4 lib/neo4j/shared/identity.rb
neo4j-8.2.3 lib/neo4j/shared/identity.rb
neo4j-8.2.2 lib/neo4j/shared/identity.rb
neo4j-8.2.1 lib/neo4j/shared/identity.rb
neo4j-8.1.5 lib/neo4j/shared/identity.rb
neo4j-8.1.4 lib/neo4j/shared/identity.rb
neo4j-8.1.3 lib/neo4j/shared/identity.rb
neo4j-8.1.2 lib/neo4j/shared/identity.rb
neo4j-8.1.1 lib/neo4j/shared/identity.rb
neo4j-8.1.0 lib/neo4j/shared/identity.rb
neo4j-8.1.0.rc.2 lib/neo4j/shared/identity.rb
neo4j-8.0.18 lib/neo4j/shared/identity.rb
neo4j-8.1.0.rc.1 lib/neo4j/shared/identity.rb