Sass::Plugin.on_compilation_error
メソッドにブロックを渡すことで、コンパイルエラーが起きた時にブロック内を実行させることができます。
下はSassについてくるscssコマンドに、エラー処理を追記した物です。
ファイル名を scss-with-notification とでもして使うといいかな。
#!/usr/bin/env ruby
require 'sass'
require 'sass/exec'
require 'sass/plugin'
Sass::Plugin.on_compilation_error do |error, template, css|
# Do something such like sending email or alerting to IRC and so on
$stderr.puts "SCSS compilation error #{File.realpath(error.sass_filename)} (Line #{error.sass_line}: #{error.message})"
end
opts = Sass::Exec::Scss.new(ARGV)
opts.parse!