Class: AgentHarness::Extensions::Registry
- Inherits:
-
Object
- Object
- AgentHarness::Extensions::Registry
- Defined in:
- lib/agent_harness/extensions.rb
Instance Method Summary collapse
- #all ⇒ Object
- #fetch(name) ⇒ Object
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #register(extension, as: nil) ⇒ Object
- #registered?(name) ⇒ Boolean
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
223 224 225 |
# File 'lib/agent_harness/extensions.rb', line 223 def initialize @extensions = {} end |
Instance Method Details
#all ⇒ Object
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
242 243 244 |
# File 'lib/agent_harness/extensions.rb', line 242 def registered?(name) @extensions.key?(name.to_sym) end |