#!/usr/bin/ruby require 'optparse' def config Grader::Configuration.get_instance end def log_file_name if !File.exists?(config.log_dir) raise "Log directory does not exist: #{config.log_dir}" end config.log_dir + "/#{GRADER_ENV}.#{Process.pid}" end def log(str) if config.talkative puts str end if config.logging fp = File.open(log_file_name,"a") fp.puts("GRADER: #{Time.new.strftime("%H:%M")} #{str}") fp.close end end def parse_arguments(args) options = { :environment => 'grading', :problems => [], :submissions => [] } opts = OptionParser.new do |opts| opts.banner = <