diff options
author | Heinrich Lee Yu <heinrich@gitlab.com> | 2019-04-23 17:30:18 +0800 |
---|---|---|
committer | Heinrich Lee Yu <heinrich@gitlab.com> | 2019-04-30 15:24:25 +0800 |
commit | fc22626f453f64409ad5b2967cdec541dbcc041d (patch) | |
tree | 9686c1c160af34db2038c241ab7f0b665f1c51a0 /app/models/merge_request_diff.rb | |
parent | a2543ee29a97f61f960994d473291c7224c50c3d (diff) | |
download | gitlab-ce-fc22626f453f64409ad5b2967cdec541dbcc041d.tar.gz |
Remove deprecated uses of attribute_changed?9932-fix-deprecated-attribute_changed-ce
Prepares us for upgrade to Rails 5.2
Diffstat (limited to 'app/models/merge_request_diff.rb')
-rw-r--r-- | app/models/merge_request_diff.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb index 0b787217410..5f5d92bc2f0 100644 --- a/app/models/merge_request_diff.rb +++ b/app/models/merge_request_diff.rb @@ -134,7 +134,7 @@ class MergeRequestDiff < ApplicationRecord # It allows you to override variables like head_commit_sha before getting diff. after_create :save_git_content, unless: :importing? - after_save :update_external_diff_store, if: -> { !importing? && external_diff_changed? } + after_save :update_external_diff_store, if: -> { !importing? && saved_change_to_external_diff? } def self.find_by_diff_refs(diff_refs) find_by(start_commit_sha: diff_refs.start_sha, head_commit_sha: diff_refs.head_sha, base_commit_sha: diff_refs.base_sha) @@ -154,7 +154,14 @@ class MergeRequestDiff < ApplicationRecord ensure_commit_shas save_commits save_diffs + + # Another set of `after_save` hooks will be called here when we update the record save + # We need to reset so that dirty tracking is reset when running the original set + # of `after_save` hooks that come after this `after_create` hook. Otherwise, the + # hooks that run when an attribute was changed are run twice. + reset + keep_around_commits end @@ -348,7 +355,7 @@ class MergeRequestDiff < ApplicationRecord has_attribute?(:external_diff_store) end - def external_diff_changed? + def saved_change_to_external_diff? super if has_attribute?(:external_diff) end |