Sha256: cdd60cb3eb71b92c54cfb28a5c1efb5d8c84d9810a62342dfe4b92f49837b78a

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

module Neo4jr
  class DB
    class << self
      def instance
        @neo ||= begin
          neo = EmbeddedNeo.new(Configuration.database_path)
          at_exit do
            neo.shutdown
          end
          neo
        end
      end
  
      def getNodeById(node_id)
        execute do |neo|
          neo.getNodeById(node_id)
        end
      end
      
      def execute
        neo = instance
        result = nil
        transaction = neo.beginTx();
        begin
          result = yield neo
          transaction.success
        rescue Exception => e
          transaction.failure
          raise e
        ensure
          transaction.finish
        end
        result
      end
      
      def node_count
        instance.getConfig().getNeoModule().getNodeManager().getNumberOfIdsInUse(org.neo4j.api.core.Node.java_class)
      end
      
      def stats
        {
          :path => Configuration.database_path,
          :nodes => node_count
        }
      end
      
      def to_s
        stats.inspect
      end      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
neo4jr-simple-0.1.7 lib/neo4jr/db.rb