diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-03 00:08:01 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-03 00:08:01 +0300 |
commit | 561e1b470f0a99fe6304c8f197348c47a637d594 (patch) | |
tree | 6b361b6b0b412b70450aca167079c50a13bd88d8 /app/presenters/snippet_blob_presenter.rb | |
parent | 7b52c7cb634ef7047d30b0337fe477bcdcedf41d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/presenters/snippet_blob_presenter.rb')
-rw-r--r-- | app/presenters/snippet_blob_presenter.rb | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/app/presenters/snippet_blob_presenter.rb b/app/presenters/snippet_blob_presenter.rb index 8e593d3a5fe..ed9c28bbc2c 100644 --- a/app/presenters/snippet_blob_presenter.rb +++ b/app/presenters/snippet_blob_presenter.rb @@ -3,18 +3,15 @@ class SnippetBlobPresenter < BlobPresenter def rich_data return if blob.binary? + return unless blob.rich_viewer - if markup? - blob.rendered_markup - else - highlight(plain: false) - end + render_rich_partial end def plain_data return if blob.binary? - highlight(plain: !markup?) + highlight(plain: false) end def raw_path @@ -27,10 +24,6 @@ class SnippetBlobPresenter < BlobPresenter private - def markup? - blob.rich_viewer&.partial_name == 'markup' - end - def snippet blob.container end @@ -38,4 +31,18 @@ class SnippetBlobPresenter < BlobPresenter def language nil end + + def render_rich_partial + renderer.render("projects/blob/viewers/_#{blob.rich_viewer.partial_name}", + locals: { viewer: blob.rich_viewer, blob: blob, blob_raw_path: raw_path }, + layout: false) + end + + def renderer + proxy = Warden::Proxy.new({}, Warden::Manager.new({})).tap do |proxy_instance| + proxy_instance.set_user(current_user, scope: :user) + end + + ApplicationController.renderer.new('warden' => proxy) + end end |