Class: FastExists::Backends::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/fast_exists/backends/registry.rb

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



6
7
8
9
# File 'lib/fast_exists/backends/registry.rb', line 6

def initialize
  @backends = {}
  register_default_backends
end

Instance Method Details

#fetch(name, options = {}) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/fast_exists/backends/registry.rb', line 15

def fetch(name, options = {})
  backend_name = name.to_sym
  klass = @backends[backend_name]
  raise UnsupportedBackendError, "Backend '#{name}' is not registered" unless klass

  klass.new(options)
end

#register(name, klass) ⇒ Object



11
12
13
# File 'lib/fast_exists/backends/registry.rb', line 11

def register(name, klass)
  @backends[name.to_sym] = klass
end

#registered?(name) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/fast_exists/backends/registry.rb', line 23

def registered?(name)
  @backends.key?(name.to_sym)
end