module Omega::CLI::Contest
Public Instance Methods
clarifications(contest_name, filter_open)
click to toggle source
# File lib/omega/cli/contest.rb, line 41 def clarifications(contest_name, filter_open) clarifications = omega.clarifications(contest_name) clarifications.select! { |clar| clar[:answer].nil? || clar[:answer].empty? } if filter_open puts clarifications.to_yaml end
copy_users(contest, from)
click to toggle source
# File lib/omega/cli/contest.rb, line 27 def copy_users(contest, from) target = omega.contest(contest) source = omega.contest(from) source.users.each do |user| target.add_user(user) rescue StandardError => e puts "Error adding #{user}: #{e.message}" end end
download_sources(contest_name, path)
click to toggle source
# File lib/omega/cli/contest.rb, line 54 def download_sources(contest_name, path) Dir.mkdir(path) unless File.directory?(path) contest = omega.contest(contest_name) contest.all_sources.each do |source| source.save_at(path) end end
register_user(contest_name, user)
click to toggle source
# File lib/omega/cli/contest.rb, line 6 def register_user(contest_name, user) contest = omega.contest(contest_name) puts contest.add_user(user)[:status] rescue StandardError => e puts "Error adding #{user}: #{e.message}" end
register_users(contest_name, user_file)
click to toggle source
# File lib/omega/cli/contest.rb, line 13 def register_users(contest_name, user_file) users = File.readlines(user_file).map(&:strip) contest = omega.contest(contest_name) failed = [] users.each do |user| puts "Adding #{user}..." contest.add_user(user) rescue StandardError => e puts "Error adding #{user}: #{e.message}" failed << user end puts "Failed users: \n- #{failed.join("\n- ")}" end
scoreboard(contest_name)
click to toggle source
# File lib/omega/cli/contest.rb, line 47 def scoreboard(contest_name) score = omega.scoreboard(contest_name) score.simple_display.each_with_index { |s, i| puts "#{i + 1}.- #{s.values.join(': ')}" } rescue StandardError => e puts "#{contest_name}: #{e.message}" end
user_data(user)
click to toggle source
# File lib/omega/cli/contest.rb, line 37 def user_data(user) puts omega.user(user).full_data.to_yaml end