Module: RoundManagement
- Defined in:
- lib/tdl/runner/round_management.rb
Instance Method Summary collapse
- #display_and_save_description(label, description, audit_stream, working_directory) ⇒ Object
- #get_last_fetched_round(working_directory) ⇒ Object
- #save_description(listener, raw_description, audit_stream, working_directory) ⇒ Object
Instance Method Details
#display_and_save_description(label, description, audit_stream, working_directory) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/tdl/runner/round_management.rb', line 20 def display_and_save_description(label, description, audit_stream, working_directory) Dir.mkdir(File.join(working_directory, CHALLENGES_FOLDER)) unless File.exist?(File.join(working_directory, CHALLENGES_FOLDER)) output_description = File.open("#{working_directory}/#{CHALLENGES_FOLDER}/#{label}.txt", 'w') output_description << description output_description.close audit_stream.write_line("Challenge description saved to file: #{CHALLENGES_FOLDER}/#{label}.txt.") output_last_round = File.open(File.join(working_directory, LAST_FETCHED_ROUND_PATH), 'w') output_last_round << label output_last_round.close 'OK' end |
#get_last_fetched_round(working_directory) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/tdl/runner/round_management.rb', line 35 def get_last_fetched_round(working_directory) begin File.read(File.join(working_directory, LAST_FETCHED_ROUND_PATH)) rescue StandardError => _ 'noRound' end end |
#save_description(listener, raw_description, audit_stream, working_directory) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/tdl/runner/round_management.rb', line 10 def save_description(listener, raw_description, audit_stream, working_directory) return unless raw_description.include? "\n" newline_index = raw_description.index("\n") round_id = raw_description[0..newline_index - 1] listener.on_new_round(round_id) if round_id != get_last_fetched_round(working_directory) display_and_save_description(round_id, raw_description, audit_stream, working_directory) end |