Sha256: 77684b3bb78f36fa2a551069dbdfc768ae7069479a493de6f45d7cb283a0717f
Contents?: true
Size: 913 Bytes
Versions: 7
Compression:
Stored size: 913 Bytes
Contents
require 'cliutils/pretty-io' module CLIUtils # CLIMessenger Module # Outputs coordinated messages to a variety of targets. module Messenging include PrettyIO # Hook that triggers when this module is included. # @param [Object] k The includer object # @return [void] def self.included(k) k.extend(self) end # Returns a default instance of LoggerDelegator that # delegates to STDOUT only. # @return [LoggerDelegator] def default_instance stdout_logger = Logger.new(STDOUT) stdout_logger.formatter = proc do |severity, datetime, progname, msg| send(severity.downcase, msg) end LoggerDelegator.new(STDOUT: stdout_logger) end # Singleton method to return (or initialize, if needed) # a LoggerDelegator. # @return [LoggerDelegator] def messenger @@messenger ||= default_instance end end end
Version data entries
7 entries across 7 versions & 1 rubygems