Class: ActiveLogger::Repository
- Inherits:
-
Object
- Object
- ActiveLogger::Repository
- Extended by:
- MonitorMixin
- Includes:
- Singleton
- Defined in:
- lib/active_logger/repository.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#loggers ⇒ Object
readonly
Returns the value of attribute loggers.
Class Method Summary collapse
Instance Method Summary collapse
- #__fetch__(name) ⇒ Object
-
#initialize ⇒ Repository
constructor
A new instance of Repository.
Constructor Details
#initialize ⇒ Repository
Returns a new instance of Repository.
19 20 21 |
# File 'lib/active_logger/repository.rb', line 19 def initialize @loggers = {} end |
Instance Attribute Details
#loggers ⇒ Object (readonly)
Returns the value of attribute loggers.
17 18 19 |
# File 'lib/active_logger/repository.rb', line 17 def loggers @loggers end |
Class Method Details
.[](name) ⇒ Object
27 28 29 30 31 |
# File 'lib/active_logger/repository.rb', line 27 def self.[](name) synchronize do instance.__fetch__(name) || (raise ActiveLogger::LoggerNotFound, name) end end |
.[]=(name, logger) ⇒ Object
23 24 25 |
# File 'lib/active_logger/repository.rb', line 23 def self.[]=(name, logger) synchronize { instance.loggers[name] = logger } end |
.loggers ⇒ Object
33 34 35 |
# File 'lib/active_logger/repository.rb', line 33 def self.loggers synchronize { instance.loggers } end |
Instance Method Details
#__fetch__(name) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/active_logger/repository.rb', line 37 def __fetch__(name) logger = loggers[name] || loggers[name.to_s] return __fetch__(name.superclass) if logger.nil? && name.respond_to?(:superclass) logger end |