29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/colorful-logger.rb', line 29
def self.extended(base)
metaclass = (class << base; self; end)
metaclass::Levels.each_pair do |name, number|
color = @@color_values[@@colors[name]]
class_eval <<-RUBY, __FILE__, __LINE__
def #{name}(message = nil)
if #{number} >= level
message = block_given? ? yield : message
self << "\033[0;\#{#{color}}m%s\033[0m" % message
end
self
end
def #{name}!(message = nil)
if #{number} >= level
message = block_given? ? yield : message
self << "\033[0;\#{#{color}}m%s\033[0m" % message
flush
end
self
end
RUBY
end
end
|