class Yell::Formatter::Modifier

def call( message )

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