diff --git a/judge/scripts/lib/configuration.rb b/judge/scripts/lib/configuration.rb deleted file mode 100644 --- a/judge/scripts/lib/configuration.rb +++ /dev/null @@ -1,84 +0,0 @@ -module Grader - - # This singleton class holds basic configurations for grader. When - # running in each mode, grader uses resources from different - # directories and outputs differently. Usually the attributes name - # are descriptive; below we explain more on each attributes. - class Configuration - # Rails' environment: "development", "production" - attr_accessor :rails_env - - # Grader looks for problem [prob] in problem_dir/[prob], and store - # execution results for submission [x] of user [u] in directory - # user_result_dir/[u]/[x] - attr_accessor :problems_dir - attr_accessor :user_result_dir - - # If report_grader=true, the grader would add a row in model - # GraderProcess. It would report itself with grader_hostname and - # process id. - attr_accessor :report_grader - attr_accessor :grader_hostname - - # If talkative=true, grader would report status to console. If - # logging=true, grader would report status to a log file located - # in log_dir, in a file name mode.options.pid. TODO: defined - # log file naming. - attr_accessor :talkative - attr_accessor :logging - attr_accessor :log_dir - - # These are directories related to the test interface. - attr_accessor :test_request_input_base_dir - attr_accessor :test_request_output_base_dir - attr_accessor :test_request_problem_templates_dir - - # Comment received from the grading script will be filtered - # through Configuration#report_comment. How this method behave - # depends on this option; right now only two formats, :short and - # :long - attr_accessor :comment_report_style - - def report_comment(comment) - case comment_report_style - when :short - if comment.chomp =~ /^[\[\]P]+$/ # all P's - 'passed' - elsif comment.chomp =~ /[Cc]ompil.*[Ee]rror/ - 'compilation error' - else - 'failed' - end - - when :full - comment.chomp - end - end - - # Codes for singleton - private_class_method :new - - @@instance = nil - - def self.get_instance - if @@instance==nil - @@instance = new - end - @@instance - end - - private - def initialize - @talkative = false - @log_file = nil - @report_grader = false - @grader_hostname = `hostname`.chomp - - @rails_env = 'development' - - @comment_report_style = :full - end - - end - -end