Module: Omega::CLI::Contest

Included in:
Omega::CLI
Defined in:
lib/omega/cli/contest.rb

Instance Method Summary collapse

Instance Method Details

#register_user(contest_name, user) ⇒ Object



6
7
8
9
10
11
# 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) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# 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) ⇒ Object



31
32
33
34
35
36
# File 'lib/omega/cli/contest.rb', line 31

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) ⇒ Object



27
28
29
# File 'lib/omega/cli/contest.rb', line 27

def user_data(user)
  puts omega.user(user).full_data.to_yaml
end