Sha256: 5440eb0c4a411e536f6e1fa2b13b682e46e45c5853a9254b56b090f72962c766

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 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
          extend Neo4j::Core::TxMethods

          alias_method :_other_node, :getOtherNode

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

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

          def start_node
            _start_node.wrapper
          end
          tx_methods :start_node

          def _start_node
            getStartNode
          end

          def rel_type
            getType().name().to_sym
          end

          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

          def _end_node
            getEndNode
          end

        end
      end
    end

    extend_java_class(Java::OrgNeo4jKernelImplCore::RelationshipProxy)

  end


end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
neo4j-core-3.0.0.alpha.14 lib/neo4j-embedded/embedded_relationship.rb