class Axiom::Adapter::Arango::Adapter

Adapter to read tuples from remote ArangoDB

Attributes

database[R]

Return database

@return [ArangoDB::Database]

@api private

logger[R]

Return logger

@return [Logger]

@api private

Public Class Methods

new(_database, _logger = NullLogger.instance) click to toggle source

Return new adapter

@param [Ashikawa::Core::Database] _database @param [NullLogger] _logger

@return [undefined]

@example

database = Ashikawa::Core::Database.new('http://localhost:8529')
adapter = Axiom::Adapter::Arango::Adapter.new(database, Logger.new($stderr, :debug))

@api public

Calls superclass method
# File lib/axiom/adapter/arango/adapter.rb, line 39
def self.new(_database, _logger = NullLogger.instance)
  super
end

Public Instance Methods

gateway(base_relation) click to toggle source

Return gateway for the ArangoDB adapter

@param [Relation::Base] base_relation

@return [Gateway]

@example

gateway = adapter.gateway(base_relation)

# Perform restriction on gateway
relation = gateway.restrict { |r| r.foo.eql('bar') }

# Enumerate tuples
relation.each do |tuple|
  p tuple.to_ary
end

@api public

# File lib/axiom/adapter/arango/adapter.rb, line 77
def gateway(base_relation)
  Gateway.new(self, base_relation)
end
reader(base_relation) click to toggle source

Return reader for base relation

@param [Relation::Base] base_relation

the relation to read from

@return [Reader]

the reader

@api private

# File lib/axiom/adapter/arango/adapter.rb, line 53
def reader(base_relation)
  Reader.new(self, base_relation)
end