class Yell::Formatter::Modifier
Message modifier class to allow different modifiers for different requirements.
Public Class Methods
new()
click to toggle source
# File lib/yell/formatter.rb, line 129 def initialize @repository = {} end
Public Instance Methods
call( message )
click to toggle source
# File lib/yell/formatter.rb, line 137 def call( message ) case when mod = @repository[message.class] || @repository[message.class.to_s] mod.call(message) when message.is_a?(Array) message.map { |m| call(m) }.join(" ") when message.is_a?(Hash) message.map { |k, v| "#{k}: #{v}" }.join(", ") when message.is_a?(Exception) backtrace = message.backtrace ? "\n\t#{message.backtrace.join("\n\t")}" : "" sprintf("%s: %s%s", message.class, message.message, backtrace) else message end end
set( key, &block )
click to toggle source
# File lib/yell/formatter.rb, line 133 def set( key, &block ) @repository.merge!(key => block) end