Class: ROM::Files::Gateway

Inherits:
Gateway
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rom/files/gateway.rb

Overview

Files gateway interface

Examples:

gateway = ROM::Files::Gateway.new('.')
gateway.dataset(:lib)
gateway[:lib].insert(name: 'rom.rb')

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(root = Pathname.pwd, extensions: []) ⇒ Gateway

Returns a new instance of Gateway.

Parameters:

  • root (Pathname, #to_s) (defaults to: Pathname.pwd)
  • extensions (Array<Symbol>, Symbol) (defaults to: [])


27
28
29
30
# File 'lib/rom/files/gateway.rb', line 27

def initialize(root = Pathname.pwd, extensions: [])
  @connection = Connection.new(root)
  Files.load_extensions(*Array(extensions))
end

Instance Attribute Details

#connectionConnection (readonly)

Returns:



# File 'lib/rom/files/gateway.rb', line 22

#loggerObject (readonly)

Returns default logger.

Returns:

  • (Object)

    default logger



35
36
37
# File 'lib/rom/files/gateway.rb', line 35

def logger
  @logger
end

Instance Method Details

#[]Object



55
# File 'lib/rom/files/gateway.rb', line 55

def_instance_delegators :connection, :[]

#dataset(name) ⇒ Dataset

Parameters:

Returns:



48
49
50
# File 'lib/rom/files/gateway.rb', line 48

def dataset(name)
  self[name] || connection.create_dataset(name)
end

#dataset?Object



60
# File 'lib/rom/files/gateway.rb', line 60

def_instance_delegator :connection, :key?, :dataset?

#use_logger(logger) ⇒ Object

Set default logger for the gateway

Parameters:

  • logger (Logger)

    object



42
43
44
# File 'lib/rom/files/gateway.rb', line 42

def use_logger(logger)
  @logger = logger
end