| 1 |
class PreCommit::Core < PreCommit |
| 2 |
def pre_commit |
| 3 |
rake_invoke :examples |
| 4 |
website |
| 5 |
end |
| 6 |
|
| 7 |
def website(run_webby=true) |
| 8 |
clobber |
| 9 |
rake_invoke :verify_rcov |
| 10 |
rake_invoke :spec_html |
| 11 |
|
| 12 |
rake_invoke :failing_examples_with_html |
| 13 |
rdoc |
| 14 |
rdoc_rails |
| 15 |
end |
| 16 |
|
| 17 |
def clobber |
| 18 |
rm_rf '../doc/output' |
| 19 |
rm_rf 'translated_specs' |
| 20 |
end |
| 21 |
|
| 22 |
def webby |
| 23 |
Dir.chdir '../doc' do |
| 24 |
output = silent_sh('rake rebuild 2>&1') |
| 25 |
if shell_error?(output) |
| 26 |
raise "ERROR while generating web site: #{output}" |
| 27 |
end |
| 28 |
|
| 29 |
spec_page = File.expand_path('output/documentation/tools/spec.html') |
| 30 |
spec_page_content = File.open(spec_page).read |
| 31 |
unless spec_page_content =~/\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\./m |
| 32 |
raise "#{'!'*400}\nIt seems like the output in the generated documentation is broken (no dots: ......)\n. Look in #{spec_page}" |
| 33 |
end |
| 34 |
end |
| 35 |
end |
| 36 |
|
| 37 |
def rdoc |
| 38 |
Dir.chdir '../rspec' do |
| 39 |
rake = (PLATFORM == "i386-mswin32") ? "rake.cmd" : "rake" |
| 40 |
`#{rake} rdoc` |
| 41 |
end |
| 42 |
end |
| 43 |
|
| 44 |
def rdoc_rails |
| 45 |
Dir.chdir '../rspec_on_rails' do |
| 46 |
rake = (PLATFORM == "i386-mswin32") ? "rake.cmd" : "rake" |
| 47 |
`#{rake} rdoc` |
| 48 |
end |
| 49 |
end |
| 50 |
end |