From e5cfb7904c772d5fdaa37e083521adefcac86d5d Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 22 Jun 2021 23:39:30 -0500 Subject: [PATCH] CurrentUser: remove #as method. Replace with CurrentUser#scoped. --- app/jobs/upload_preprocessor_delayed_start_job.rb | 2 +- app/jobs/upload_service_delayed_start_job.rb | 2 +- app/logical/current_user.rb | 10 ---------- app/logical/tag_relationship_retirement_service.rb | 2 +- app/logical/upload_service.rb | 4 ++-- app/logical/upload_service/controller_helper.rb | 2 +- app/logical/upload_service/preprocessor.rb | 4 ++-- app/models/bulk_update_request.rb | 2 +- .../functional/moderator/dashboards_controller_test.rb | 2 +- test/test_helper.rb | 2 +- test/unit/danbooru_maintenance_test.rb | 2 +- 11 files changed, 12 insertions(+), 22 deletions(-) diff --git a/app/jobs/upload_preprocessor_delayed_start_job.rb b/app/jobs/upload_preprocessor_delayed_start_job.rb index 25356b201..00fbdb636 100644 --- a/app/jobs/upload_preprocessor_delayed_start_job.rb +++ b/app/jobs/upload_preprocessor_delayed_start_job.rb @@ -3,6 +3,6 @@ class UploadPreprocessorDelayedStartJob < ApplicationJob queue_with_priority(-1) def perform(source, referer_url, uploader) - UploadService::Preprocessor.new(source: source, referer_url: referer_url).delayed_start(uploader.id) + UploadService::Preprocessor.new(source: source, referer_url: referer_url).delayed_start(uploader) end end diff --git a/app/jobs/upload_service_delayed_start_job.rb b/app/jobs/upload_service_delayed_start_job.rb index d551fdb5e..1ef1f824e 100644 --- a/app/jobs/upload_service_delayed_start_job.rb +++ b/app/jobs/upload_service_delayed_start_job.rb @@ -3,6 +3,6 @@ class UploadServiceDelayedStartJob < ApplicationJob queue_with_priority(-1) def perform(params, uploader) - UploadService.new(params).delayed_start(uploader.id) + UploadService.new(params).delayed_start(uploader) end end diff --git a/app/logical/current_user.rb b/app/logical/current_user.rb index c6186b6d8..f40c679e0 100644 --- a/app/logical/current_user.rb +++ b/app/logical/current_user.rb @@ -10,14 +10,4 @@ class CurrentUser < ActiveSupport::CurrentAttributes yield user end end - - def self.as(user_or_id, &block) - if user_or_id.is_a?(String) || user_or_id.is_a?(Integer) - user = ::User.find(user_or_id) - else - user = user_or_id - end - - scoped(user, &block) - end end diff --git a/app/logical/tag_relationship_retirement_service.rb b/app/logical/tag_relationship_retirement_service.rb index 38a223a01..b35403ec7 100644 --- a/app/logical/tag_relationship_retirement_service.rb +++ b/app/logical/tag_relationship_retirement_service.rb @@ -14,7 +14,7 @@ module TagRelationshipRetirementService def forum_topic topic = ForumTopic.where(title: forum_topic_title).first if topic.nil? - CurrentUser.as(User.system) do + CurrentUser.scoped(User.system) do topic = ForumTopic.create!(creator: User.system, title: forum_topic_title, category_id: 1) ForumPost.create!(creator: User.system, body: forum_topic_body, topic: topic) end diff --git a/app/logical/upload_service.rb b/app/logical/upload_service.rb index 9e96c1fe0..33b988ead 100644 --- a/app/logical/upload_service.rb +++ b/app/logical/upload_service.rb @@ -5,8 +5,8 @@ class UploadService @params = params end - def delayed_start(uploader_id) - CurrentUser.as(uploader_id) do + def delayed_start(uploader) + CurrentUser.scoped(uploader) do start! end rescue ActiveRecord::RecordNotUnique diff --git a/app/logical/upload_service/controller_helper.rb b/app/logical/upload_service/controller_helper.rb index 378ca07f3..f0c9b70e5 100644 --- a/app/logical/upload_service/controller_helper.rb +++ b/app/logical/upload_service/controller_helper.rb @@ -15,7 +15,7 @@ class UploadService if file # this gets called via XHR so we can process sync - Preprocessor.new(file: file).delayed_start(CurrentUser.id) + Preprocessor.new(file: file).delayed_start(CurrentUser.user) end [upload] diff --git a/app/logical/upload_service/preprocessor.rb b/app/logical/upload_service/preprocessor.rb index e02026205..f8b298e17 100644 --- a/app/logical/upload_service/preprocessor.rb +++ b/app/logical/upload_service/preprocessor.rb @@ -54,8 +54,8 @@ class UploadService predecessor.present? end - def delayed_start(uploader_id) - CurrentUser.as(uploader_id) do + def delayed_start(uploader) + CurrentUser.scoped(uploader) do start! end rescue ActiveRecord::RecordNotUnique diff --git a/app/models/bulk_update_request.rb b/app/models/bulk_update_request.rb index e3d819040..fc0a5f8e8 100644 --- a/app/models/bulk_update_request.rb +++ b/app/models/bulk_update_request.rb @@ -72,7 +72,7 @@ class BulkUpdateRequest < ApplicationRecord end def create_forum_topic - CurrentUser.as(user) do + CurrentUser.scoped(user) do body = "[bur:#{id}]\n\n#{reason}" self.forum_topic = ForumTopic.create(title: title, category_id: 1, creator: user) unless forum_topic.present? self.forum_post = forum_topic.forum_posts.create(body: body, creator: user) unless forum_post.present? diff --git a/test/functional/moderator/dashboards_controller_test.rb b/test/functional/moderator/dashboards_controller_test.rb index db5ffb8f6..8f27ebf4a 100644 --- a/test/functional/moderator/dashboards_controller_test.rb +++ b/test/functional/moderator/dashboards_controller_test.rb @@ -81,7 +81,7 @@ module Moderator setup do @users = (0..5).map {create(:user)} - CurrentUser.as(@users[0]) do + as(@users[0]) do @comment = create(:comment) end diff --git a/test/test_helper.rb b/test/test_helper.rb index 85692e82e..634bfaeb8 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -60,7 +60,7 @@ class ActiveSupport::TestCase end def as(user, &block) - CurrentUser.as(user, &block) + CurrentUser.scoped(user, &block) end end diff --git a/test/unit/danbooru_maintenance_test.rb b/test/unit/danbooru_maintenance_test.rb index b7f24eb27..e011304e6 100644 --- a/test/unit/danbooru_maintenance_test.rb +++ b/test/unit/danbooru_maintenance_test.rb @@ -30,7 +30,7 @@ class DanbooruMaintenanceTest < ActiveSupport::TestCase banner = FactoryBot.create(:admin_user) user = FactoryBot.create(:user) - CurrentUser.as(banner) { FactoryBot.create(:ban, user: user, banner: banner, duration: 1) } + as(banner) { create(:ban, user: user, banner: banner, duration: 1) } assert_equal(true, user.reload.is_banned) travel_to(2.days.from_now) { DanbooruMaintenance.daily }