Module: Lemans::Agents
- Defined in:
- lib/lemans/agents.rb,
lib/lemans/agents/nop.rb,
lib/lemans/agents/base.rb,
lib/lemans/agents/oracle.rb,
lib/lemans/agents/miniswen.rb,
lib/lemans/agents/miniswen_installed.rb
Overview
The agents by name, resolved the way Environments.build resolves backends: the abstract class carries no list of its own children.
Defined Under Namespace
Classes: Base, Miniswen, MiniswenInstalled, Nop, Oracle
Constant Summary collapse
- REGISTRY =
{ "nop" => "Nop", "oracle" => "Oracle", "miniswen" => "Miniswen", "miniswen-installed" => "MiniswenInstalled" }.freeze
Class Method Summary collapse
Class Method Details
.build(name, profile:, model: nil) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/lemans/agents.rb', line 14 def self.build(name, profile:, model: nil) constant = REGISTRY[name] or raise ConfigError, "unknown agent #{name.inspect} (known: #{REGISTRY.keys.join(", ")})" const_get(constant).new(profile: profile, model: model) end |