Class: Yell::Repository

Inherits:
Object
  • Object
show all
Extended by:
MonitorMixin
Includes:
Singleton
Defined in:
lib/yell/repository.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRepository

Returns a new instance of Repository.



13
14
15
# File 'lib/yell/repository.rb', line 13

def initialize
  @loggers = {}
end

Instance Attribute Details

#loggersObject

Returns the value of attribute loggers.



11
12
13
# File 'lib/yell/repository.rb', line 11

def loggers
  @loggers
end

Class Method Details

.[](name) ⇒ Yell::Logger

Get loggers from the repository

Examples:

Get the logger

Yell::Repository[ 'development' ]

Returns:



33
34
35
# File 'lib/yell/repository.rb', line 33

def self.[]( name )
  synchronize { instance.loggers[name] }
end

.[]=(name, logger) ⇒ Yell::Logger

Set loggers in the repository

Examples:

Set a logger

Yell::Repository[ 'development' ] = Yell::Logger.new :stdout

Returns:



23
24
25
# File 'lib/yell/repository.rb', line 23

def self.[]=( name, logger )
  synchronize { instance.loggers[name] = logger }
end

.clearObject

Clears all logger instances (handy for testing)



45
46
47
# File 'lib/yell/repository.rb', line 45

def self.clear
  synchronize { instance.loggers.clear }
end

.loggersHash

Get the list of all loggers in the repository

Returns:

  • (Hash)

    The map of loggers



40
41
42
# File 'lib/yell/repository.rb', line 40

def self.loggers
  synchronize { instance.loggers }
end