summaryrefslogtreecommitdiff
path: root/app/models/issue.rb
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2017-06-08 17:16:27 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2017-07-06 12:01:36 +0200
commit8fbbf41e29f5e0f56b7eb9d37aadba856b68bcce (patch)
tree55308daf8218231e33f7c50ae81cd5774c058576 /app/models/issue.rb
parentc63e3221587daf9e7464f7d2079ca8ed3111f6ff (diff)
downloadgitlab-ce-8fbbf41e29f5e0f56b7eb9d37aadba856b68bcce.tar.gz
Added Cop to blacklist the use of `dependent:`
This is allowed for existing instances so we don't end up 76 offenses right away, but for new code one should _only_ use this if they _have_ to remove non database data. Even then it's usually better to do this in a service class as this gives you more control over how to remove the data (e.g. in bulk).
Diffstat (limited to 'app/models/issue.rb')
-rw-r--r--app/models/issue.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 31e3504e535..01f985823e1 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -23,9 +23,14 @@ class Issue < ActiveRecord::Base
belongs_to :project
belongs_to :moved_to, class_name: 'Issue'
- has_many :events, as: :target, dependent: :destroy
+ has_many :events, as: :target, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
- has_many :merge_requests_closing_issues, class_name: 'MergeRequestsClosingIssues'
+ has_many :merge_requests_closing_issues,
+ class_name: 'MergeRequestsClosingIssues',
+ dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
+
+ has_many :issue_assignees
+ has_many :assignees, class_name: "User", through: :issue_assignees
has_many :issue_assignees
has_many :assignees, class_name: "User", through: :issue_assignees