class OJS::POJ

Constants

LANGUAGE_ID

Public Class Methods

language() click to toggle source
# File lib/ojsubmitter/judge/poj.rb, line 42
def language
  LANGUAGE_ID[@config['language'].to_s.downcase]
end
login() click to toggle source
# File lib/ojsubmitter/judge/poj.rb, line 16
def login
  res = hclient.post(
    'http://poj.org/login',
    { user_id1:  user,
      password1: password }
  )
  raise Judge::LoginFailedError if res.body =~ /Login failed!/
  Logger.info "Logged in successfully."
end
post() click to toggle source
# File lib/ojsubmitter/judge/poj.rb, line 26
def post
  res = hclient.post(
    'http://poj.org/submit',
    { problem_id: problem_id,
      language:   language,
      source:     code,
      encoded:    'UTF-8',
    }
  )
  raise Judge::SubmissionError if res.body =~ /(Error Occurred)|(Error report)/
end
problem_id() click to toggle source
# File lib/ojsubmitter/judge/poj.rb, line 46
def problem_id
  unless @config['problem_id']
    @config['problem_id'] = File.basename(file).split('.')[0]
  end
  sprintf "%04d", @config['problem_id'].to_i
end
status_url() click to toggle source
# File lib/ojsubmitter/judge/poj.rb, line 38
def status_url
  "http://poj.org/status?problem_id=#{problem_id}&user_id=#{user}"
end