Sha256: ae27ed90169269b92b2ab3b7ac0c3eb7d4c895d0f384ac418873b108d1705819
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
module Hallmonitor class Dispatcher @outputters = [] # Returns list of outputters registered # @return [Array<Outputter>] def self.outputters @outputters end # Adds an outputter. Outputters are required to respond to :process # @param outputter [Object] # @see Hallmonitor::Outputters::StatsdOutputter def self.add_outputter(outputter) @outputters << outputter if outputter.respond_to?(:process) end # Removes all outputters def self.clear_outputters @outputters = [] end # Outputs an event via each registered outputter. # If {Hallmonitor::Configuration} has the option # `trap_outputter_exceptions` set to `true` then this method # will trap and squash any errors raised by the outputter. # @param event [Event] The event to output # @return nil def self.output(event) @outputters.each do |o| begin o.process(event) rescue raise unless Hallmonitor.config.trap_outputter_exceptions end end nil end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hallmonitor-1.1.0 | lib/hallmonitor/dispatcher.rb |
hallmonitor-1.0.0 | lib/hallmonitor/dispatcher.rb |