Module: DataDrain::Storage

Defined in:
lib/data_drain/storage.rb,
lib/data_drain/storage/s3.rb,
lib/data_drain/storage/base.rb,
lib/data_drain/storage/local.rb

Overview

Espacio de nombres para las estrategias de almacenamiento físico.

Defined Under Namespace

Classes: Base, InvalidAdapterError, Local, S3

Class Method Summary collapse

Class Method Details

.adapterDataDrain::Storage::Base

Resuelve e instancia el adaptador de almacenamiento correspondiente basándose en la configuración actual del framework. La instancia se cachea para evitar allocations innecesarias entre queries.

Returns:

Raises:



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/data_drain/storage.rb', line 19

def self.adapter
  @adapter ||= begin
    mode = DataDrain.configuration.storage_mode
    case mode.to_sym
    when :local
      Local.new(DataDrain.configuration)
    when :s3
      S3.new(DataDrain.configuration)
    else
      raise InvalidAdapterError, "Storage mode '#{mode}' no está soportado."
    end
  end
end

.reset_adapter!Object

Descarta el adaptador cacheado. Llamar cuando cambia storage_mode.



34
35
36
# File 'lib/data_drain/storage.rb', line 34

def self.reset_adapter!
  @adapter = nil
end