Module: Omega::CLI::Contest
- Included in:
- Omega::CLI
- Defined in:
- lib/omega/cli/contest.rb
Instance Method Summary collapse
- #clarifications(contest_name, filter_open) ⇒ Object
- #register_user(contest_name, user) ⇒ Object
- #register_users(contest_name, user_file) ⇒ Object
- #scoreboard(contest_name) ⇒ Object
- #user_data(user) ⇒ Object
Instance Method Details
#clarifications(contest_name, filter_open) ⇒ Object
31 32 33 34 35 |
# File 'lib/omega/cli/contest.rb', line 31 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 |
#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.}" 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.}" failed << user end puts "Failed users: \n- #{failed.join("\n- ")}" end |
#scoreboard(contest_name) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/omega/cli/contest.rb', line 37 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.}" 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 |