Sha256: bafef70ec6ab7d7d7f976e1d9dfabb489b9b0aec4f27ab2edac742352e19ba49

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

module Neo4j
  # Use this mixin to wrap Neo4j Relationship Java object.
  # This mixin is similar to Neo4j::NodeMixin which wraps Neo4j::Node Java objects.
  #
  # @example
  #   class Friend
  #      include Neo4j::RelationshipMixin
  #      property :since, :type => Fixnum, :index => :exact
  #      property :strength, :type => Float
  #      property :location
  #    end
  #
  #  Friend.new(:knows, node_a, node_b, :strength => 3.14)
  #  Friend.find(:strength => (2..5)).first
  #
  # = Class Method Modules
  # * {Neo4j::Wrapper::RelationshipMixin::ClassMethods}
  # * {Neo4j::Wrapper::Property::ClassMethods}
  # * {Neo4j::Core::Index::ClassMethods}
  # * {Neo4j::Wrapper::Find}
  module RelationshipMixin

    include Neo4j::Wrapper::RelationshipMixin::Initialize
    include Neo4j::Wrapper::RelationshipMixin::Delegates
    include Neo4j::Wrapper::Property::InstanceMethods
    include Neo4j::Wrapper::Equal

    # @private
    def self.included(klass)
      klass.extend Neo4j::Wrapper::ClassMethods
      klass.extend Neo4j::Wrapper::RelationshipMixin::ClassMethods
      klass.extend Neo4j::Wrapper::Property::ClassMethods
      klass.extend Neo4j::Core::Index::ClassMethods
      klass.extend Neo4j::Wrapper::Find
      klass.setup_rel_index

      def klass.inherited(sub_klass)
        setup_neo4j_subclass(sub_klass)
        super
      end

      super

    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
neo4j-wrapper-2.3.0-java lib/neo4j/relationship_mixin.rb
neo4j-wrapper-2.2.4-java lib/neo4j/relationship_mixin.rb
neo4j-wrapper-2.2.3-java lib/neo4j/relationship_mixin.rb
neo4j-wrapper-2.2.1-java lib/neo4j/relationship_mixin.rb