require 'autotest/restart'

Autotest.add_hook :run_command do |at|
  at.unit_diff = 'cat'

  system "#{Gem.ruby} -rubygems #{Gem.bin_path 'rake', 'rake'} generate"
end

Autotest.add_hook :initialize do |at|
  at.testlib = 'minitest/unit' if at.respond_to? :testlib=

  def at.path_to_classname(s)
    sep = File::SEPARATOR
    f = s.sub(/^test#{sep}/, '').sub(/\.rb$/, '').split(sep)
    f = f.map { |path| path.split(/_|(\d+)/).map { |seg| seg.capitalize }.join }
    f = f.map { |path| path =~ /^Test/ ? path : "Test#{path}"  }
    f.join('::').gsub('Rdoc', 'RDoc').gsub('Ri', 'RI')
  end
end

