Module: Mailscope::Storage
- Defined in:
- lib/mailscope/storage.rb,
lib/mailscope/storage/base.rb,
lib/mailscope/storage/filesystem.rb
Defined Under Namespace
Classes: Base, Filesystem
Constant Summary
collapse
- ADAPTERS =
{ filesystem: 'Mailscope::Storage::Filesystem' }.freeze
Class Method Summary
collapse
Class Method Details
.build(adapter, **options) ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/mailscope/storage.rb', line 14
def self.build(adapter, **options)
return adapter unless adapter.is_a?(Symbol) || adapter.is_a?(String)
class_name = ADAPTERS.fetch(adapter.to_sym) do
raise ArgumentError, "unknown Mailscope storage adapter: #{adapter.inspect}"
end
Object.const_get(class_name).new(**options)
end
|
.register(name, class_name) ⇒ Object
10
11
12
|
# File 'lib/mailscope/storage.rb', line 10
def self.register(name, class_name)
ADAPTERS.merge!(name.to_sym => class_name)
end
|