From 74387e83b605bccd32e5bfab84ed2ee0408fc8cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guitaut?= Date: Wed, 8 Dec 2021 11:03:42 +0100 Subject: [PATCH] DEV: Stop polluting all Ruby classes The `ReviewableScore` model was defining class methods on `self.class` from a singleton context so instead of defining methods on `ReviewableScore` it was defining them on `Class`, so basically on every existing class. This patch resolves this issue. Using `enum` from `ActiveRecord` in the future will avoid this kind of problems. --- app/models/reviewable_score.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/reviewable_score.rb b/app/models/reviewable_score.rb index 208ea5b8fc5..34080a944d9 100644 --- a/app/models/reviewable_score.rb +++ b/app/models/reviewable_score.rb @@ -49,7 +49,7 @@ class ReviewableScore < ActiveRecord::Base # Generate `pending?`, `rejected?`, etc helper methods statuses.each do |name, id| define_method("#{name}?") { status == id } - self.class.define_method(name) { where(status: id) } + singleton_class.define_method(name) { where(status: id) } end def score_type