Sha256: 181e6fd8a26cc8543748b20d6e48c9b0d4fa02a4c91dc25ed4e8a0c8d38232ab

Contents?: true

Size: 989 Bytes

Versions: 4

Compression:

Stored size: 989 Bytes

Contents

module Neo4j

  # Makes Neo4j Relationships more or less act like ActiveRecord objects.
  # See documentation at https://github.com/neo4jrb/neo4j/wiki/Neo4j%3A%3AActiveRel
  module ActiveRel
    extend ActiveSupport::Concern

    include Neo4j::Shared
    include Neo4j::ActiveRel::Initialize
    include Neo4j::Shared::Identity
    include Neo4j::Shared::SerializedProperties
    include Neo4j::ActiveRel::Property
    include Neo4j::ActiveRel::Persistence
    include Neo4j::ActiveRel::Validations
    include Neo4j::ActiveRel::Callbacks
    include Neo4j::ActiveRel::Query
    include Neo4j::ActiveRel::Types

    class FrozenRelError < StandardError; end

    def initialize(*args)
      load_nodes
      super
    end

    def neo4j_obj
      _persisted_obj || raise("Tried to access native neo4j object on a non persisted object")
    end

    included do
      def self.inherited(other)
        super
      end
    end

    ActiveSupport.run_load_hooks(:active_rel, self)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
neo4j-4.0.0 lib/neo4j/active_rel.rb
neo4j-4.0.0.rc.4 lib/neo4j/active_rel.rb
neo4j-4.0.0.rc.3 lib/neo4j/active_rel.rb
neo4j-4.0.0.rc.1 lib/neo4j/active_rel.rb