Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
# ~.autotest module Autotest::Growl FAIL = -1 PENDING = 0 SUCCESS = 1 FAIL_IMAGE = "/Users/carlosbrando/.autotest_images/fail.png" SUCCESS_IMAGE = "/Users/carlosbrando/.autotest_images/pass.png" Autotest.add_hook :ran_command do |at| result = at.results.last if result examples = result =~ /(\d+) example/ ? $1.to_i : 0 failures = result =~ /(\d+) failure/ ? $1.to_i : 0 pendings = result =~ /(\d+) pending/ ? $1.to_i : 0 unless last_result_was(examples, failures, pendings) msg = "#{examples} example#{ 's' if examples != 1}, #{failures} failure#{ 's' if failures != 1}, #{pendings} pending" if failures > 0 growl "FAIL", msg, FAIL_IMAGE, 2 else growl "Pass", msg, SUCCESS_IMAGE end end code = (failures > 0) ? 31 : (pendings > 0) ? 33 : 32 puts "\e[#{code}m#{'=' * 80}\e[0m\n\n" end end class << self def growl(title, msg, img = SUCCESS_IMAGE, pri = 0) system "growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title}" end def last_result_was(examples, failures, pendings) @last_result ||= [0, 0, 0] if @last_result == [examples, failures, pendings] true else @last_result = [examples, failures, pendings] false end end end end
This paste will be private.
From the Design Piracy series on my blog: