Class: Vessel::Driver::Registry

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/vessel/driver/registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



12
13
14
# File 'lib/vessel/driver/registry.rb', line 12

def initialize
  @drivers = {}
end

Instance Attribute Details

#driversObject (readonly)

Returns the value of attribute drivers.



10
11
12
# File 'lib/vessel/driver/registry.rb', line 10

def drivers
  @drivers
end

Instance Method Details

#build(settings = nil) ⇒ Object



20
21
22
23
# File 'lib/vessel/driver/registry.rb', line 20

def build(settings = nil)
  name = settings[:driver_name].to_sym
  @drivers.fetch(name.to_sym).new(settings)
end

#register(name, klass) ⇒ Object



16
17
18
# File 'lib/vessel/driver/registry.rb', line 16

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