diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index 7eab8f399a6..81831cdffb5 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -47,7 +47,7 @@ def destroy # 制限をかけておく redirect_to admin_users_url, alert: '自分自身を削除する場合、退会から処理を行ってください。' if current_user.id == params[:id] user = User.find(params[:id]) - Newspaper.publish(:learning_destroy, { user: }) + ActiveSupport::Notifications.instrument('learning.destroy', user:) user.destroy redirect_to admin_users_url, notice: "#{user.name} さんを削除しました。" end diff --git a/app/controllers/api/practices/learning_controller.rb b/app/controllers/api/practices/learning_controller.rb index c2a78f99d8c..6460b2ed8d0 100644 --- a/app/controllers/api/practices/learning_controller.rb +++ b/app/controllers/api/practices/learning_controller.rb @@ -29,7 +29,7 @@ def update status = learning.new_record? ? :created : :ok if learning.save - Newspaper.publish(:learning_create, { user: learning.user }) + ActiveSupport::Notifications.instrument('learning.create', user: learning.user) notify_to_chat_for_employment_counseling(learning) if status == :created && learning.practice.title == '就職相談部屋を作る' head status else diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 1aa0042284d..ad79dd68e1e 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -60,7 +60,6 @@ def create if @report.save_uniquely ActiveSupport::Notifications.instrument('report.create', report: @report) - Newspaper.publish(:report_save, { report: @report }) redirect_to redirect_url(@report), notice: notice_message(@report), flash: flash_contents(@report) else render :new @@ -77,7 +76,6 @@ def update if @report.save_uniquely ActiveSupport::Notifications.instrument('report.update', report: @report) - Newspaper.publish(:report_save, { report: @report }) redirect_to redirect_url(@report), notice: notice_message(@report), flash: flash_contents(@report) else @report.wip = before_wip_status @@ -87,7 +85,7 @@ def update def destroy @report.destroy - Newspaper.publish(:report_destroy, { report: @report }) + ActiveSupport::Notifications.instrument('report.destroy', report: @report) redirect_to reports_url, notice: '日報を削除しました。' end diff --git a/app/models/learning_cache_destroyer.rb b/app/models/learning_cache_destroyer.rb index e62c56939a1..96dd0db1d45 100644 --- a/app/models/learning_cache_destroyer.rb +++ b/app/models/learning_cache_destroyer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class LearningCacheDestroyer - def call(payload) + def call(_name, _started, _finished, _unique_id, payload) user = payload[:user] Rails.cache.delete "/model/user/#{user.id}/completed_percentage" Rails.logger.info "[LearningCacheDestroyer] Cache destroyed for user #{user.id}" diff --git a/app/models/sad_streak_updater.rb b/app/models/sad_streak_updater.rb index f230b0c71d6..e296aac5d18 100644 --- a/app/models/sad_streak_updater.rb +++ b/app/models/sad_streak_updater.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class SadStreakUpdater - def call(payload) + def call(_name, _started, _finished, _unique_id, payload) report = payload[:report] report.user.update_sad_streak end diff --git a/config/initializers/active_support_notifications.rb b/config/initializers/active_support_notifications.rb index 5909001f8d5..631daa67dec 100644 --- a/config/initializers/active_support_notifications.rb +++ b/config/initializers/active_support_notifications.rb @@ -6,6 +6,10 @@ ActiveSupport::Notifications.subscribe('answer.create', NotifierToWatchingUser.new) ActiveSupport::Notifications.subscribe('event.create', EventOrganizerWatcher.new) ActiveSupport::Notifications.subscribe('regular_event.create', RegularEventOrganizerWatcher.new) + sad_streak_updater = SadStreakUpdater.new + ActiveSupport::Notifications.subscribe('report.create', sad_streak_updater) + ActiveSupport::Notifications.subscribe('report.update', sad_streak_updater) + ActiveSupport::Notifications.subscribe('report.destroy', sad_streak_updater) ActiveSupport::Notifications.subscribe('report.create', FirstReportNotifier.new) ActiveSupport::Notifications.subscribe('report.update', FirstReportNotifier.new) ActiveSupport::Notifications.subscribe('report.create', ReportNotifier.new) @@ -30,4 +34,8 @@ page_notifier = PageNotifier.new ActiveSupport::Notifications.subscribe('page.create', page_notifier) ActiveSupport::Notifications.subscribe('page.update', page_notifier) + + learning_cache_destroyer = LearningCacheDestroyer.new + ActiveSupport::Notifications.subscribe('learning.create', learning_cache_destroyer) + ActiveSupport::Notifications.subscribe('learning.destroy', learning_cache_destroyer) end diff --git a/config/initializers/newspaper.rb b/config/initializers/newspaper.rb index 6541b5931f8..e4cb22700b8 100644 --- a/config/initializers/newspaper.rb +++ b/config/initializers/newspaper.rb @@ -1,14 +1,6 @@ # frozen_string_literal: true Rails.configuration.after_initialize do - sad_streak_updater = SadStreakUpdater.new - Newspaper.subscribe(:report_save, sad_streak_updater) - Newspaper.subscribe(:report_destroy, sad_streak_updater) - - learning_cache_destroyer = LearningCacheDestroyer.new - Newspaper.subscribe(:learning_create, learning_cache_destroyer) - Newspaper.subscribe(:learning_destroy, learning_cache_destroyer) - answer_cache_destroyer = AnswerCacheDestroyer.new Newspaper.subscribe(:answer_save, answer_cache_destroyer) Newspaper.subscribe(:answer_destroy, answer_cache_destroyer)