class OJS::Judge
Public Class Methods
code()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 70 def code File.read file, encoding: Encoding::UTF_8 end
file()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 66 def file @config['file'] end
hclient()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 46 def hclient @hclient ||= HTTPClient.new end
language()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 58 def language @config['language'] end
login()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 15 def login end
open_status()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 38 def open_status Util.open_browser status_url end
password()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 54 def password @config['password'] end
post()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 34 def post raise NotImplementedError end
problem_id()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 62 def problem_id @config['problem_id'] end
status_url()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 42 def status_url raise NotImplementedError end
submit(*options)
click to toggle source
# File lib/ojsubmitter/judge.rb, line 18 def submit(*options) @config = options[0].to_h if options login post Logger.info "Your source code has submitted successfully." Logger.info "Open browser..." sleep 1 open_status rescue LoginFailedError => err Logger.error "Login failed!" rescue SubmissionError => err Logger.error "Failed to submit. Check your config." rescue UnknownLanguageError => err Logger.error "No languages are matched." end
user()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 50 def user @config['user'] end
valid_judges()
click to toggle source
# File lib/ojsubmitter/judge.rb, line 11 def valid_judges %w[AOJ POJ SPOJ Codeforces AtCoder] end