class OJS::SPOJ

Constants

LANGUAGE_ID

Public Class Methods

language() click to toggle source
# File lib/ojsubmitter/judge/spoj.rb, line 87
def language
  LANGUAGE_ID[@config['language'].to_s.downcase]
end
login() click to toggle source
# File lib/ojsubmitter/judge/spoj.rb, line 63
def login
  res = hclient.post(
    'http://www.spoj.com/login/',
    { login_user: user,
      password:   password }
  )
  raise Judge::LoginFailedError if res.body =~ /Authentication failed!/
  Logger.info "Logged in successfully."
end
post() click to toggle source
# File lib/ojsubmitter/judge/spoj.rb, line 73
def post
  res = hclient.post(
    'http://www.spoj.com/submit/complete/',
    { problemcode: problem_id, 
      lang:        language,
      file:        code }
  )
  raise Judge::SubmissionError if res.body =~ /Error/
end
problem_id() click to toggle source
# File lib/ojsubmitter/judge/spoj.rb, line 91
def problem_id
  unless @config['problem_id']
    @config['problem_id'] = File.basename(file).split('.')[0]
  end
  @config['problem_id'].upcase
end
status_url() click to toggle source
# File lib/ojsubmitter/judge/spoj.rb, line 83
def status_url
  "http://www.spoj.com/status/#{user}"
end