class ROM::Memory::Gateway

In-memory gateway interface

@example

gateway = ROM::Memory::Gateway.new
gateway.dataset(:users)
gateway[:users].insert(name: 'Jane')

@api public

Attributes

logger[R]

@return [Object] default logger

@api public

Public Class Methods

new() click to toggle source

@api private

# File lib/rom/memory/gateway.rb, line 26
def initialize
  @connection = Storage.new
end

Public Instance Methods

[](name) click to toggle source

Return dataset with the given name

@param (see ROM::Gateway#[]) @return [Memory::Dataset]

@api public

# File lib/rom/memory/gateway.rb, line 61
def [](name)
  connection[name]
end
dataset(name) click to toggle source

Register a dataset in the gateway

If dataset already exists it will be returned

@return [Dataset]

@api public

# File lib/rom/memory/gateway.rb, line 46
def dataset(name)
  self[name] || connection.create_dataset(name)
end
dataset?(name) click to toggle source

@see ROM::Gateway#dataset?

# File lib/rom/memory/gateway.rb, line 51
def dataset?(name)
  connection.key?(name)
end
use_logger(logger) click to toggle source

Set default logger for the gateway

@param [Object] logger object

@api public

# File lib/rom/memory/gateway.rb, line 35
def use_logger(logger)
  @logger = logger
end