diff --git a/app/controllers/api/beta/participant_controller.rb b/app/controllers/api/beta/participant_controller.rb index 9dcd19c22..0fb47402f 100644 --- a/app/controllers/api/beta/participant_controller.rb +++ b/app/controllers/api/beta/participant_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'course_list' + class Api::Beta::ParticipantController < Api::Beta::BaseController before_action :doorkeeper_authorize!, scopes: [:public] diff --git a/app/controllers/api/v8/base_controller.rb b/app/controllers/api/v8/base_controller.rb index f8e633da1..a83f1c1c8 100644 --- a/app/controllers/api/v8/base_controller.rb +++ b/app/controllers/api/v8/base_controller.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'json' +require 'version' module Api module V8 diff --git a/app/controllers/api/v8/core/courses/reviews_controller.rb b/app/controllers/api/v8/core/courses/reviews_controller.rb index b79fb2971..04e34df6a 100644 --- a/app/controllers/api/v8/core/courses/reviews_controller.rb +++ b/app/controllers/api/v8/core/courses/reviews_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'natsort' + module Api module V8 module Core diff --git a/app/controllers/api/v8/core/exercises/submissions_controller.rb b/app/controllers/api/v8/core/exercises/submissions_controller.rb index ea5f5f113..d7f808e4b 100644 --- a/app/controllers/api/v8/core/exercises/submissions_controller.rb +++ b/app/controllers/api/v8/core/exercises/submissions_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'submission_processor' + module Api module V8 module Core diff --git a/app/controllers/api/v8/core/exercises_controller.rb b/app/controllers/api/v8/core/exercises_controller.rb index 853b60ebe..dcc30ab66 100644 --- a/app/controllers/api/v8/core/exercises_controller.rb +++ b/app/controllers/api/v8/core/exercises_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'submission_list' + module Api module V8 module Core diff --git a/app/controllers/api/v8/core/submissions/reviews_controller.rb b/app/controllers/api/v8/core/submissions/reviews_controller.rb index dc74c0db8..8ccf4ab9f 100644 --- a/app/controllers/api/v8/core/submissions/reviews_controller.rb +++ b/app/controllers/api/v8/core/submissions/reviews_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'natsort' + module Api module V8 module Core diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 406e15c0f..a9d446b39 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -4,6 +4,8 @@ require 'course_list' require 'exercise_completion_status_generator' require 'json' +require 'course_list' +require 'course_info' class CoursesController < ApplicationController before_action :set_organization diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index b0d7d81c6..d9e634818 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'submission_list' + class ExercisesController < ApplicationController def show @exercise = Exercise.find(params[:id]) diff --git a/app/controllers/full_zip_controller.rb b/app/controllers/full_zip_controller.rb index 8927da7a2..8988a5861 100644 --- a/app/controllers/full_zip_controller.rb +++ b/app/controllers/full_zip_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'submission_packager' + class FullZipController < ApplicationController def index submission = Submission.find(params[:submission_id]) diff --git a/app/controllers/migrate_to_other_course_controller.rb b/app/controllers/migrate_to_other_course_controller.rb index c293c84d0..861b8bedd 100644 --- a/app/controllers/migrate_to_other_course_controller.rb +++ b/app/controllers/migrate_to_other_course_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'student_submission_migrator' + class MigrateToOtherCourseController < ApplicationController def show @old_course = Course.find(params[:course_id]) diff --git a/app/controllers/setup/course_details_controller.rb b/app/controllers/setup/course_details_controller.rb index b1cd448e0..e46aa4c85 100644 --- a/app/controllers/setup/course_details_controller.rb +++ b/app/controllers/setup/course_details_controller.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'course_refresh_database_updater' + class Setup::CourseDetailsController < Setup::SetupController before_action :set_course, except: %i[new create] diff --git a/app/models/course_template.rb b/app/models/course_template.rb index ad3593746..9cae1c46c 100644 --- a/app/models/course_template.rb +++ b/app/models/course_template.rb @@ -3,6 +3,7 @@ # Course stub to be copied by teachers for their own organisations require 'net/http' +require 'system_commands' class CourseTemplate < ApplicationRecord include SystemCommands diff --git a/app/models/deadline_spec.rb b/app/models/deadline_spec.rb index 23d29336f..fe9eabd39 100644 --- a/app/models/deadline_spec.rb +++ b/app/models/deadline_spec.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'date_and_time_utils' + # Parses and abstracts specification in the "deadline" field of a `metadata.yml` file. class DeadlineSpec # (the name of this class is unfortunate as it confuses IDEs when jumping to tests) class InvalidSyntaxError < StandardError; end diff --git a/app/models/exercise.rb b/app/models/exercise.rb index a606f5e8e..303c17164 100644 --- a/app/models/exercise.rb +++ b/app/models/exercise.rb @@ -2,6 +2,8 @@ require 'shellwords' +require 'date_and_time_utils' + class Exercise < ApplicationRecord self.include_root_in_json = false include Swagger::Blocks diff --git a/app/models/submission.rb b/app/models/submission.rb index 178f909de..2db931210 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -2,6 +2,7 @@ require 'zlib' require 'securerandom' +require 'submission_packager' class Submission < ApplicationRecord include Swagger::Blocks diff --git a/app/models/unlock_spec.rb b/app/models/unlock_spec.rb index 360e28694..31f9d373c 100644 --- a/app/models/unlock_spec.rb +++ b/app/models/unlock_spec.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'date_and_time_utils' + # Parses and abstracts specification in the "unlocked_after" field of a `metadata.yml` file. class UnlockSpec # (the name of this class is unfortunate as it confuses IDEs when jumping to tests) class InvalidSyntaxError < StandardError; end diff --git a/config/site_tailoring.example.rb b/config/site_tailoring.example.rb index 0a52f5328..20afcbed7 100644 --- a/config/site_tailoring.example.rb +++ b/config/site_tailoring.example.rb @@ -2,5 +2,7 @@ # Optionally copy this file to site_tailoring.rb and # override methods defined in lib/tailoring.rb here. +require 'tailoring' + class SiteTailoring < Tailoring end diff --git a/lib/course_info.rb b/lib/course_info.rb index c03aec6bf..882390752 100644 --- a/lib/course_info.rb +++ b/lib/course_info.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'natsort' +require 'course_list' # Builds /courses/:id.json class CourseInfo diff --git a/lib/course_list.rb b/lib/course_list.rb index ef5f1c5c8..a0a608f08 100644 --- a/lib/course_list.rb +++ b/lib/course_list.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'natsort' + # Builds /courses.json class CourseList def initialize(user, helpers) diff --git a/lib/course_refresh_database_updater.rb b/lib/course_refresh_database_updater.rb index 95819bb76..ff9bc3ca9 100644 --- a/lib/course_refresh_database_updater.rb +++ b/lib/course_refresh_database_updater.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'benchmark' +require 'system_commands' class CourseRefreshDatabaseUpdater def refresh_course(course, refreshed_course_data) diff --git a/lib/doc_gen/shell_session.rb b/lib/doc_gen/shell_session.rb index 338e91d8b..99e2089fe 100644 --- a/lib/doc_gen/shell_session.rb +++ b/lib/doc_gen/shell_session.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'cgi' # for escapeHTML +require 'doc_gen' class DocGen # A shell session where the interaction can be printed to the generated document. diff --git a/lib/sandbox_results_saver.rb b/lib/sandbox_results_saver.rb index ff5663f94..1b978f829 100644 --- a/lib/sandbox_results_saver.rb +++ b/lib/sandbox_results_saver.rb @@ -3,6 +3,8 @@ # Saves results from a remote sandbox to the database. # # See also: TestRunGrader +require 'test_run_grader' + module SandboxResultsSaver class InvalidTokenError < RuntimeError; end diff --git a/lib/submission_packager.rb b/lib/submission_packager.rb index bcb18abca..49df1f36d 100644 --- a/lib/submission_packager.rb +++ b/lib/submission_packager.rb @@ -2,6 +2,7 @@ require 'tmpdir' require 'fileutils' +require 'rust_langs_cli_executor' # Takes a submission zip and makes a tar file suitable for the sandbox class SubmissionPackager diff --git a/spec/integration/admin_usecases_spec.rb b/spec/integration/admin_usecases_spec.rb index 302ae5c4b..755b91075 100644 --- a/spec/integration/admin_usecases_spec.rb +++ b/spec/integration/admin_usecases_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'submission_processor' describe 'The system (used by an instructor for administration)', type: :request, integration: true do include IntegrationTestActions diff --git a/spec/lib/course_refresh_database_updater_spec.rb b/spec/lib/course_refresh_database_updater_spec.rb index 46e23bbce..5a27223b9 100644 --- a/spec/lib/course_refresh_database_updater_spec.rb +++ b/spec/lib/course_refresh_database_updater_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'course_refresh_database_updater' describe CourseRefreshDatabaseUpdater do include GitTestActions diff --git a/spec/lib/date_and_time_utils_spec.rb b/spec/lib/date_and_time_utils_spec.rb index 94eb20d20..c27f19b2f 100644 --- a/spec/lib/date_and_time_utils_spec.rb +++ b/spec/lib/date_and_time_utils_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'date_and_time_utils' describe DateAndTimeUtils do describe '#to_time' do diff --git a/spec/lib/file_tree_hasher_spec.rb b/spec/lib/file_tree_hasher_spec.rb index 572b61a81..58c7055b6 100644 --- a/spec/lib/file_tree_hasher_spec.rb +++ b/spec/lib/file_tree_hasher_spec.rb @@ -2,6 +2,7 @@ require 'spec_helper' require 'fileutils' +require 'file_tree_hasher' describe FileTreeHasher do def write_file(path, content) diff --git a/spec/lib/submission_packager/java_maven_spec.rb b/spec/lib/submission_packager/java_maven_spec.rb index ca73bf354..2c7b68492 100644 --- a/spec/lib/submission_packager/java_maven_spec.rb +++ b/spec/lib/submission_packager/java_maven_spec.rb @@ -4,6 +4,8 @@ require 'tmpdir' require 'shellwords' require 'system_commands' +require 'submission_packager' +require 'rust_langs_cli_executor' # There is some functionality in common with JavaSimple. We mostly only test that in java_simple_spec.rb. describe SubmissionPackager do diff --git a/spec/lib/submission_processor_spec.rb b/spec/lib/submission_processor_spec.rb index a0685378c..3067d9869 100644 --- a/spec/lib/submission_processor_spec.rb +++ b/spec/lib/submission_processor_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'submission_processor' describe SubmissionProcessor do def expect_processing diff --git a/spec/lib/test_run_grader_spec.rb b/spec/lib/test_run_grader_spec.rb index 718dbf208..1033b6423 100644 --- a/spec/lib/test_run_grader_spec.rb +++ b/spec/lib/test_run_grader_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'test_run_grader' describe TestRunGrader do include GitTestActions diff --git a/spec/lib/version_spec.rb b/spec/lib/version_spec.rb index aa52dc14d..bf3976838 100644 --- a/spec/lib/version_spec.rb +++ b/spec/lib/version_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'version' describe Version do it 'splits the version string into components' do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9d8e3ea49..fcaa33273 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -9,6 +9,7 @@ require 'fileutils' require 'capybara/poltergeist' require 'simplecov' +require 'tailoring' # require 'rspec_remote_formatter' SimpleCov.start 'rails' do add_filter '/bin/' diff --git a/spec/support/remote_sandbox_for_testing.rb b/spec/support/remote_sandbox_for_testing.rb index 4a7b2e1e3..3d83d8c09 100644 --- a/spec/support/remote_sandbox_for_testing.rb +++ b/spec/support/remote_sandbox_for_testing.rb @@ -2,6 +2,7 @@ require 'fileutils' require 'system_commands' +require 'sandbox_results_saver' class RemoteSandboxForTesting @server_pids = nil diff --git a/spec/usermanual/usermanual_spec.rb b/spec/usermanual/usermanual_spec.rb index 989ee995a..e95d39933 100644 --- a/spec/usermanual/usermanual_spec.rb +++ b/spec/usermanual/usermanual_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'spec_helper' +require 'doc_gen' describe 'User manual', type: :request, usermanual: true, integration: true do def make_page(name)