diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-06 00:07:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-06 00:07:48 +0000 |
commit | 2349eabc1a473bfb70555f0ce6d3d808cecb181d (patch) | |
tree | 0dae6a2a6810f2198eed42b7f9566ebf9c292468 /lib/gitlab/diff | |
parent | 134fe182008dc13a16f12d723aa73771efb1a6a2 (diff) | |
download | gitlab-ce-2349eabc1a473bfb70555f0ce6d3d808cecb181d.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/diff')
-rw-r--r-- | lib/gitlab/diff/file_collection/merge_request_diff.rb | 39 | ||||
-rw-r--r-- | lib/gitlab/diff/file_collection/merge_request_diff_base.rb | 38 |
2 files changed, 38 insertions, 39 deletions
diff --git a/lib/gitlab/diff/file_collection/merge_request_diff.rb b/lib/gitlab/diff/file_collection/merge_request_diff.rb index 1d99349304b..fe7df1062c0 100644 --- a/lib/gitlab/diff/file_collection/merge_request_diff.rb +++ b/lib/gitlab/diff/file_collection/merge_request_diff.rb @@ -4,45 +4,6 @@ module Gitlab module Diff module FileCollection class MergeRequestDiff < MergeRequestDiffBase - include Gitlab::Utils::StrongMemoize - - def diff_files - strong_memoize(:diff_files) do - diff_files = super - - diff_files.each { |diff_file| cache.decorate(diff_file) } - - diff_files - end - end - - override :write_cache - def write_cache - cache.write_if_empty - end - - override :clear_cache - def clear_cache - cache.clear - end - - def cache_key - cache.key - end - - def real_size - @merge_request_diff.real_size - end - - private - - def cache - @cache ||= if Feature.enabled?(:hset_redis_diff_caching, project) - Gitlab::Diff::HighlightCache.new(self) - else - Gitlab::Diff::DeprecatedHighlightCache.new(self) - end - end end end end diff --git a/lib/gitlab/diff/file_collection/merge_request_diff_base.rb b/lib/gitlab/diff/file_collection/merge_request_diff_base.rb index a747a6ed475..06cf3d4d168 100644 --- a/lib/gitlab/diff/file_collection/merge_request_diff_base.rb +++ b/lib/gitlab/diff/file_collection/merge_request_diff_base.rb @@ -15,6 +15,44 @@ module Gitlab diff_refs: merge_request_diff.diff_refs, fallback_diff_refs: merge_request_diff.fallback_diff_refs) end + + def diff_files + strong_memoize(:diff_files) do + diff_files = super + + diff_files.each { |diff_file| cache.decorate(diff_file) } + + diff_files + end + end + + override :write_cache + def write_cache + cache.write_if_empty + end + + override :clear_cache + def clear_cache + cache.clear + end + + def cache_key + cache.key + end + + def real_size + @merge_request_diff.real_size + end + + private + + def cache + @cache ||= if Feature.enabled?(:hset_redis_diff_caching, project) + Gitlab::Diff::HighlightCache.new(self) + else + Gitlab::Diff::DeprecatedHighlightCache.new(self) + end + end end end end |