Emili Parreño

Autotest con Growl

19 Nov 2008 |

Creamos un archivo en nuestro directorio de usuario llamado .autotest con el siguiente contenido:

require 'autotest/redgreen'
require 'autotest/html_report'
require 'autotest/menu'
module Autotest::Growl
 
  def self.growl msg, options={}
    salida = "growlnotify -n autotest --image \"#{options[:img]}\"  -p #{options[:pri]} -d #{rand(100)} -m \"#{msg}\" \"Tests\" #{options[:sticky]}"
    system salida
  end
 
  Autotest.add_hook :ran_command do |at|
    results = [at.results].flatten.join("\n")
    output = results.slice(/(\d+)\s+assertions?,\s*(\d+)\s+failures?,\s*(\d+)\s+errors?/)
    failures = $~[3].to_i + $~[2].to_i
    options = (failures > 0)? {:img=>"/Users/#{ENV["USER"]}/Library/Autotest/rails_fail.png", :pri => 0, :sticky => "" } : {:img => "/Users/#{ENV["USER"]}/Library/Autotest/rails_ok.png", :pri => 0,:sticky => "" }
    if output
      growl "#{output}", options
    end
  end
end

Aquí tenéis las imágenes que se tienen que copiar en ~/Libreria/Autotest

Fuente: Mabishu