Sha256: 5eb97175f0689622bc1f66ae9166a4eda817ae1622030d75946b4d090f5d9716

Contents?: true

Size: 1.77 KB

Versions: 4

Compression:

Stored size: 1.77 KB

Contents

module Neo4j::Embedded
  class EmbeddedRelationship
    class << self
      # This method is used to extend a Java Neo4j class so that it includes the same mixins as this class.
      def extend_java_class(java_clazz)
        java_clazz.class_eval do
          include Neo4j::Embedded::Property
          include Neo4j::EntityEquality
          include Neo4j::Relationship::Wrapper
          include Neo4j::Core::ActiveEntity
          extend Neo4j::Core::TxMethods

          alias_method :_other_node, :getOtherNode

          def exist?
            !!graph_database.get_relationship_by_id(neo_id)
          rescue Java::OrgNeo4jGraphdb.NotFoundException
            false
          end
          tx_methods :exist?

          def inspect
            "EmbeddedRelationship neo_id: #{neo_id}"
          end

          def start_node
            _start_node.wrapper
          end
          tx_methods :start_node
          alias_method :_start_node_id, :start_node
          tx_methods :_start_node_id

          def _start_node
            getStartNode
          end

          def rel_type
            @_rel_type ||= _rel_type
          end

          def _rel_type
            getType().name().to_sym
          end
          tx_methods :rel_type

          def del
            delete
          end
          tx_methods :del

          def other_node(n)
            _other_node(n.neo4j_obj).wrapper
          end
          tx_methods :other_node

          def end_node
            _end_node.wrapper
          end
          tx_methods :end_node
          alias_method :_end_node_id, :end_node
          tx_methods :_end_node_id

          def _end_node
            getEndNode
          end

        end
      end
    end

    extend_java_class(Java::OrgNeo4jKernelImplCore::RelationshipProxy)

  end


end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
neo4j-core-3.0.0 lib/neo4j-embedded/embedded_relationship.rb
neo4j-core-3.0.0.rc.5 lib/neo4j-embedded/embedded_relationship.rb
neo4j-core-3.0.0.rc.4 lib/neo4j-embedded/embedded_relationship.rb
neo4j-core-3.0.0.rc.1 lib/neo4j-embedded/embedded_relationship.rb