Sha256: 238f5ef1610e210b8d44cbe26015f9c75940e2fe340fca6305fd78a90234dc40
Contents?: true
Size: 1010 Bytes
Versions: 3
Compression:
Stored size: 1010 Bytes
Contents
module Mimi class Logger # # A mixin to include into your classes and modules. # Makes methods #logger and .logger available, referring to one global instance: # # class MyApp # include Mimi::Logger::Instance # # def something # logger.info 'Doing something...' # end # end # module Instance def self.included(base) # puts "Module #{self} included into #{base}" base.send(:define_method, :logger) { Mimi::Logger::Instance.instance } base.send(:define_singleton_method, :logger) { Mimi::Logger::Instance.instance } end # Returns a previously created logger instance, or initializes a new one # # @param args [Array] arguments to Logger initializer # def self.instance(*args) raise 'Mimi::Logger::Instance already initialized' if @logger && !args.empty? @logger ||= Mimi::Logger.new(*args) end end # module Instance end # class Logger end # module Mimi
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mimi-logger-1.0.1 | lib/mimi/logger/instance.rb |
mimi-logger-1.0.0 | lib/mimi/logger/instance.rb |
mimi-logger-0.2.5 | lib/mimi/logger/instance.rb |