Class: BrainstemAdaptor::Specification

Inherits:
Hash
  • Object
show all
Defined in:
lib/brainstem_adaptor/specification.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(specification) ⇒ Specification

Returns a new instance of Specification.

Parameters:

  • specification (Hash)


5
6
7
8
# File 'lib/brainstem_adaptor/specification.rb', line 5

def initialize(specification)
  super
  self.merge!(specification)
end

Class Method Details

.[](key) ⇒ BrainstemAdaptor::Specification

Parameters:

  • key (Symbol)

    Specification name

Returns:



17
18
19
# File 'lib/brainstem_adaptor/specification.rb', line 17

def self.[](key)
  self.instances[key.to_sym] or raise ArgumentError, "No such specification '#{key}'"
end

.[]=(key, value) ⇒ Object

Parameters:

  • key (Symbol)

    Specification name

  • value (Hash)

    Specification body



23
24
25
# File 'lib/brainstem_adaptor/specification.rb', line 23

def self.[]=(key, value)
  self.instances[key.to_sym] = self.new(value)
end

.instancesHash

Returns:

  • (Hash)


11
12
13
# File 'lib/brainstem_adaptor/specification.rb', line 11

def self.instances
  @instances ||= {}
end