module Tantot::Agent

Constants

AGENT_CLASSES

Public Class Methods

resolve!(watch) click to toggle source
# 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