Forward all methods to delayed log

This commit is contained in:
Joshua Peek 2009-09-16 22:34:44 -05:00
parent 6be6fae59a
commit 23e72d4cc8

@ -11,15 +11,17 @@ module Logger
# just discard the String if the log level is too low.
#
# TODO: Require that Rails loggers accept a block.
class DelayedLog
def initialize(&blk)
@blk = blk
class DelayedLog < ActiveSupport::BasicObject
def initialize(&block)
@str, @block = nil, block
end
def to_s
@blk.call
def method_missing(*args, &block)
unless @str
@str, @block = @block.call, nil
end
@str.send(*args, &block)
end
alias to_str to_s
end
included do