32 lines
665 B
Ruby
32 lines
665 B
Ruby
module Yell #:nodoc:
|
|
# Include this module to add a logger to any class.
|
|
#
|
|
# When including this module, your class will have a :logger instance method
|
|
# available. Before you can use it, you will need to define a Yell logger and
|
|
# provide it with the name of your class.
|
|
#
|
|
# @example
|
|
# Yell.new :stdout, name: 'Foo'
|
|
#
|
|
# class Foo
|
|
# include Yell::Loggable
|
|
# end
|
|
#
|
|
# Foo.new.logger.info "Hello World"
|
|
module Loggable
|
|
def self.included(base)
|
|
base.extend(ClassMethods)
|
|
end
|
|
|
|
module ClassMethods
|
|
def logger
|
|
Yell[self]
|
|
end
|
|
end
|
|
|
|
def logger
|
|
self.class.logger
|
|
end
|
|
end
|
|
end
|