diff options
author | Paco Guzman <pacoguzmanp@gmail.com> | 2016-08-25 09:24:27 +0200 |
---|---|---|
committer | Paco Guzman <pacoguzmanp@gmail.com> | 2016-08-25 09:24:27 +0200 |
commit | b3bdd9e8651df2d42abae9d2dae814e04d7c4642 (patch) | |
tree | a09780a46e4b12118ec4a7c16c285cb201c72d55 /app/helpers | |
parent | b2bf01f4c271be66e93ed6f4b48a1da4d50e558d (diff) | |
download | gitlab-ce-diff-file-cache-html-content.tar.gz |
DiffFile cache html rendered contentdiff-file-cache-html-content
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/diff_helper.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb index 0725c3f4c56..1d72b019473 100644 --- a/app/helpers/diff_helper.rb +++ b/app/helpers/diff_helper.rb @@ -109,6 +109,23 @@ module DiffHelper end end + def diff_file_content_cacheable?(diff_file) + diff_file.diff_refs && !diff_file_will_show_discussions(diff_file) + end + + def diff_file_will_show_discussions(diff_file) + return false if @diff_notes_disabled + return false unless @grouped_diff_discussions + + @grouped_diff_discussions_by_file_path ||= @grouped_diff_discussions.values.flatten.group_by { |d| d.diff_file.file_path } + @grouped_diff_discussions_by_file_path.key?(diff_file.file_path) + end + private :diff_file_will_show_discussions + + def diff_file_content_cache_key(diff_file, diff_view) + [diff_file.diff_refs.base_sha, diff_file.diff_refs.start_sha, diff_file.diff_refs.head_sha, diff_file.file_path, diff_view] + end + def diff_file_html_data(project, diff_file_path, diff_commit_id) { blob_diff_path: namespace_project_blob_diff_path(project.namespace, project, |