job specs and a few job.rb refactorings