Module: Tantot::Agent
- Defined in:
- lib/tantot/agent.rb,
lib/tantot/agent/base.rb,
lib/tantot/agent/block.rb,
lib/tantot/agent/watcher.rb,
lib/tantot/agent/registry.rb
Defined Under Namespace
Classes: Base, Block, Registry, Watcher
Constant Summary collapse
Class Method Summary collapse
Class Method Details
.resolve!(watch) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/tantot/agent.rb', line 11 def self.resolve!(watch) agent_classes = AGENT_CLASSES.collect {|klass| [klass, klass.identify(watch)]}.reject {|_klass, id| id.nil?} raise Tantot::UnresolvableAgent.new("Can't resolve agent for watch: #{watch.inspect}. Specify either a watcher class or define a block.") unless agent_classes.any? raise Tantot::UnresolvableAgent.new("More than one agent manages watch: #{watch.inspect}") if agent_classes.many? agent_classes.first end |