From 6923a3ad0a1cb11ebd0f7cb08c92c32838d08f14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 03:20:03 +0000 Subject: [PATCH 1/2] Bump rubocop from 1.78.0 to 1.79.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.78.0 to 1.79.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.78.0...v1.79.0) --- updated-dependencies: - dependency-name: rubocop dependency-version: 1.79.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0460e4b27..6185fd9a7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -234,7 +234,7 @@ GEM js-routes (2.3.5) railties (>= 5) sorbet-runtime - json (2.13.0) + json (2.13.1) json_schemer (2.4.0) bigdecimal hana (~> 1.3) @@ -348,7 +348,7 @@ GEM openssl (> 2.0) package_json (0.1.0) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.9.0) ast (~> 2.4.1) racc pg (1.5.9) @@ -471,7 +471,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.4) - rubocop (1.78.0) + rubocop (1.79.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -479,8 +479,9 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.45.1, < 2.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) + tsort (>= 0.2.0) unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.46.0) parser (>= 3.3.7.2) @@ -614,6 +615,7 @@ GEM bindata (~> 2.4) openssl (> 2.0) openssl-signature_algorithm (~> 1.0) + tsort (0.2.0) turbo-rails (2.0.16) actionpack (>= 7.1.0) railties (>= 7.1.0) @@ -841,7 +843,7 @@ CHECKSUMS irb (1.15.2) sha256=222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 js-routes (2.3.5) sha256=8279fd3be49916309dfeaee546d659b97986e3edbb47332902e688992b143a4d - json (2.13.0) sha256=a4bdf1ce8db5617ec6c59e021db4a398e54b57b335e1fa417ac7badc3fb7c1a0 + json (2.13.1) sha256=8e7cf4bb44a789ac5fc62869c7187986251c3172d9bdfa60b92c63d6ecab0ffc json_schemer (2.4.0) sha256=56cb6117bb5748d925b33ad3f415b513d41d25d0bbf57fe63c0a78ff05597c24 jwt (2.10.2) sha256=31e1ee46f7359883d5e622446969fe9c118c3da87a0b1dca765ce269c3a0c4f4 kaminari (1.2.2) sha256=c4076ff9adccc6109408333f87b5c4abbda5e39dc464bd4c66d06d9f73442a3e @@ -893,7 +895,7 @@ CHECKSUMS openssl-signature_algorithm (1.3.0) sha256=a3b40b5e8276162d4a6e50c7c97cdaf1446f9b2c3946a6fa2c14628e0c957e80 package_json (0.1.0) sha256=20af98c0e45dadcd48b6f45a3324e948f578e7549365671b97faca4637770256 parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 - parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45 + parser (3.3.9.0) sha256=94d6929354b1a6e3e1f89d79d4d302cc8f5aa814431a6c9c7e0623335d7687f2 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193 @@ -938,7 +940,7 @@ CHECKSUMS rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81 rspec-rails (8.0.1) sha256=0c3700b10ab6d7c648c4cd554023d8c2b5b07e7f01205f7608f0c511cf686505 rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7 - rubocop (1.78.0) sha256=8b74a6f912eb4fd3e6878851f7f7f45dcad8c7185c34250d4f952b0ee80d6bc0 + rubocop (1.79.0) sha256=c709e83b16f9fced295d83d190a3a5bbcc46c419d8f9b85f259b99ba6faf5bbe rubocop-ast (1.46.0) sha256=0da7f6ad5b98614f89b74f11873c191059c823eae07d6ffd40a42a3338f2232b rubocop-capybara (2.22.1) sha256=ced88caef23efea53f46e098ff352f8fc1068c649606ca75cb74650970f51c0c rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe @@ -987,6 +989,7 @@ CHECKSUMS tilt (2.6.1) sha256=35a99bba2adf7c1e362f5b48f9b581cce4edfba98117e34696dde6d308d84770 timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e tpm-key_attestation (0.14.1) sha256=7fd4e4653a7afd0a386632ddfb05d10ecfdd47678299c5e69165bc9ae111193f + tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f tubesock (0.2.9) turbo-rails (2.0.16) sha256=d24e1b60f0c575b3549ecda967e5391027143f8220d837ed792c8d48ea0ea38d tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b From bab54971297d7f72a660c45368e4ac260485b708 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Fri, 25 Jul 2025 11:23:02 +0200 Subject: [PATCH 2/2] Fix Rubocop offenses --- app/controllers/codeharbor_links_controller.rb | 1 + app/controllers/live_streams_controller.rb | 1 + app/controllers/request_for_comments_controller.rb | 1 + app/models/anomaly_notification.rb | 1 + app/models/authentication_token.rb | 1 + app/models/event.rb | 1 + app/models/programming_group_membership.rb | 1 + app/models/remote_evaluation_mapping.rb | 1 + app/models/runner.rb | 1 + app/models/study_group_membership.rb | 1 + app/models/subscription.rb | 1 + app/models/testrun.rb | 1 + app/models/user_exercise_intervention.rb | 1 + app/models/user_proxy_exercise_exercise.rb | 1 + 14 files changed, 14 insertions(+) diff --git a/app/controllers/codeharbor_links_controller.rb b/app/controllers/codeharbor_links_controller.rb index 9a74eaaf3..3f049d81c 100644 --- a/app/controllers/codeharbor_links_controller.rb +++ b/app/controllers/codeharbor_links_controller.rb @@ -2,6 +2,7 @@ class CodeharborLinksController < ApplicationController include CommonBehavior + before_action :verify_codeharbor_activation before_action :set_codeharbor_link, only: %i[edit update destroy] before_action :set_user_and_authorize diff --git a/app/controllers/live_streams_controller.rb b/app/controllers/live_streams_controller.rb index d525248db..5efdaad12 100644 --- a/app/controllers/live_streams_controller.rb +++ b/app/controllers/live_streams_controller.rb @@ -4,6 +4,7 @@ class LiveStreamsController < ApplicationController # Including ActionController::Live changes all actions in this controller! # Therefore, it is extracted into a separate controller include ActionController::Live + before_action :set_content_type_nosniff skip_before_action :deny_access_from_render_host, only: :download_submission_file diff --git a/app/controllers/request_for_comments_controller.rb b/app/controllers/request_for_comments_controller.rb index 3e3b9e13d..76d5fd294 100644 --- a/app/controllers/request_for_comments_controller.rb +++ b/app/controllers/request_for_comments_controller.rb @@ -2,6 +2,7 @@ class RequestForCommentsController < ApplicationController include CommonBehavior + before_action :set_request_for_comment, only: %i[show mark_as_solved set_thank_you_note clear_question report] before_action :set_study_group_grouping, only: %i[index my_comment_requests rfcs_with_my_comments rfcs_for_exercise] diff --git a/app/models/anomaly_notification.rb b/app/models/anomaly_notification.rb index 2e12cd815..27ab3b4e9 100644 --- a/app/models/anomaly_notification.rb +++ b/app/models/anomaly_notification.rb @@ -2,6 +2,7 @@ class AnomalyNotification < ApplicationRecord include ContributorCreation + belongs_to :exercise belongs_to :exercise_collection end diff --git a/app/models/authentication_token.rb b/app/models/authentication_token.rb index 7902f28cc..d34e64119 100644 --- a/app/models/authentication_token.rb +++ b/app/models/authentication_token.rb @@ -4,6 +4,7 @@ class AuthenticationToken < ApplicationRecord include Creation + belongs_to :study_group, optional: true def self.generate!(user, study_group) diff --git a/app/models/event.rb b/app/models/event.rb index 23d93bf2c..4932ea179 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -2,6 +2,7 @@ class Event < ApplicationRecord include Creation + belongs_to :exercise belongs_to :file, class_name: 'CodeOcean::File', optional: true belongs_to :study_group, optional: true diff --git a/app/models/programming_group_membership.rb b/app/models/programming_group_membership.rb index eec727b86..5b4f89a77 100644 --- a/app/models/programming_group_membership.rb +++ b/app/models/programming_group_membership.rb @@ -2,6 +2,7 @@ class ProgrammingGroupMembership < ApplicationRecord include Creation + belongs_to :programming_group validate :unique_membership_for_exercise diff --git a/app/models/remote_evaluation_mapping.rb b/app/models/remote_evaluation_mapping.rb index c435bedc6..ff88d97c1 100644 --- a/app/models/remote_evaluation_mapping.rb +++ b/app/models/remote_evaluation_mapping.rb @@ -3,6 +3,7 @@ # TODO: reference to lti_param_model class RemoteEvaluationMapping < ApplicationRecord include Creation + before_create :generate_token, unless: :validation_token? belongs_to :exercise belongs_to :programming_group, optional: true diff --git a/app/models/runner.rb b/app/models/runner.rb index c9d621484..d615309f4 100644 --- a/app/models/runner.rb +++ b/app/models/runner.rb @@ -2,6 +2,7 @@ class Runner < ApplicationRecord include ContributorCreation + belongs_to :execution_environment # Each reservation is extended by the specified duration. diff --git a/app/models/study_group_membership.rb b/app/models/study_group_membership.rb index 5f8b0a3dd..dfa9fa9b0 100644 --- a/app/models/study_group_membership.rb +++ b/app/models/study_group_membership.rb @@ -2,6 +2,7 @@ class StudyGroupMembership < ApplicationRecord include Creation + belongs_to :study_group before_save :destroy_if_empty_study_group_or_user diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 5a35bd9d1..b94048c8b 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -2,6 +2,7 @@ class Subscription < ApplicationRecord include Creation + belongs_to :request_for_comment belongs_to :study_group, optional: true end diff --git a/app/models/testrun.rb b/app/models/testrun.rb index 4f1267529..96c3808da 100644 --- a/app/models/testrun.rb +++ b/app/models/testrun.rb @@ -2,6 +2,7 @@ class Testrun < ApplicationRecord include Creation + belongs_to :file, class_name: 'CodeOcean::File', optional: true belongs_to :submission belongs_to :testrun_execution_environment, optional: true, dependent: :destroy diff --git a/app/models/user_exercise_intervention.rb b/app/models/user_exercise_intervention.rb index f9836268a..4a6c78b36 100644 --- a/app/models/user_exercise_intervention.rb +++ b/app/models/user_exercise_intervention.rb @@ -2,6 +2,7 @@ class UserExerciseIntervention < ApplicationRecord include ContributorCreation + belongs_to :intervention belongs_to :exercise end diff --git a/app/models/user_proxy_exercise_exercise.rb b/app/models/user_proxy_exercise_exercise.rb index a85509564..a82794b53 100644 --- a/app/models/user_proxy_exercise_exercise.rb +++ b/app/models/user_proxy_exercise_exercise.rb @@ -2,6 +2,7 @@ class UserProxyExerciseExercise < ApplicationRecord include Creation + belongs_to :exercise belongs_to :proxy_exercise