Class: AgentHarness::Extensions::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/agent_harness/extensions.rb

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



223
224
225
# File 'lib/agent_harness/extensions.rb', line 223

def initialize
  @extensions = {}
end

Instance Method Details

#allObject



246
247
248
# File 'lib/agent_harness/extensions.rb', line 246

def all
  @extensions.values.dup
end

#fetch(name) ⇒ Object



236
237
238
239
240
# File 'lib/agent_harness/extensions.rb', line 236

def fetch(name)
  @extensions.fetch(name.to_sym) do
    raise ConfigurationError, "Unknown extension: #{name}"
  end
end

#register(extension, as: nil) ⇒ Object



227
228
229
230
231
232
233
234
# File 'lib/agent_harness/extensions.rb', line 227

def register(extension, as: nil)
  unless extension.is_a?(Base)
    raise ConfigurationError, "Extension must be an AgentHarness::Extensions::Base instance"
  end

  key = (as || extension.name).to_sym
  @extensions[key] = extension
end

#registered?(name) ⇒ Boolean

Returns:

  • (Boolean)


242
243
244
# File 'lib/agent_harness/extensions.rb', line 242

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