Sha256: 786ad7b9cad884f30bfedbcbc123b792331a3144e20644bc545e1c7a9d44b423

Contents?: true

Size: 992 Bytes

Versions: 3

Compression:

Stored size: 992 Bytes

Contents

module Neo4j::Mapping
  module ClassMethods
    # Used to hold information about which relationships and properties has been declared.
    module Root
      #attr_reader :_decl_rels, :_decl_props

      def root_class(clazz)
        @@_all_decl_rels  ||= {}
        @@_all_decl_props ||= {}
        @@_all_decl_rels[clazz] ||= {}
        @@_all_decl_props[clazz] ||= {}
        @_decl_rels  = @@_all_decl_rels[clazz]
        @_decl_props = @@_all_decl_props[clazz]
      end


      # a hash of all relationships which has been declared with a has_n or has_one using Neo4j::Mapping::ClassMethods::Relationship
      def _decl_rels
        @@_all_decl_rels[self] ||= {}
        @_decl_props = @@_all_decl_rels[self]
      end

      # a hash of all properties which has been declared with <tt>property</tt> using the Neo4j::Mapping::ClassMethods::Property
      def _decl_props
        @@_all_decl_props[self] ||= {}
        @_decl_props = @@_all_decl_props[self]
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
neo4j-1.0.0.beta.20 lib/neo4j/mapping/class_methods/root.rb
neo4j-1.0.0.beta.19 lib/neo4j/mapping/class_methods/root.rb
neo4j-1.0.0.beta.18 lib/neo4j/mapping/class_methods/root.rb