Sha256: 3847baf23247cbbf9219b3f1c245c761d06fce6ff299146d1cc4ebeb7e4e1295

Contents?: true

Size: 748 Bytes

Versions: 1

Compression:

Stored size: 748 Bytes

Contents

require 'active_support/core_ext/module/delegation'

module Neo4j
  module Core
    class CypherSession
      attr_reader :adaptor
      delegate :close, to: :adaptor

      def initialize(adaptor)
        fail ArgumentError, "Invalid adaptor: #{adaptor.inspect}" if !adaptor.is_a?(Adaptors::Base)

        @adaptor = adaptor

        @adaptor.connect
      end

      def transaction_class
        Neo4j::Core::CypherSession::Transactions::Base
      end

      %w[
        query
        queries

        transaction

        version

        indexes
        constraints
      ].each do |method, &_block|
        define_method(method) do |*args, &block|
          @adaptor.send(method, self, *args, &block)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
neo4j-core-9.0.0 lib/neo4j/core/cypher_session.rb