Class: SnippetPresenter

Inherits:
Gitlab::View::Presenter::Delegated show all
Defined in:
app/presenters/snippet_presenter.rb

Instance Method Summary collapse

Methods inherited from Gitlab::View::Presenter::Delegated

#initialize

Methods included from Gitlab::Utils::DelegatorOverride

#delegator_override, #delegator_override_with, #delegator_target, validator, validators, verify!

Methods included from Gitlab::View::Presenter::Base

#__subject__, #can?, #declarative_policy_delegate, #is_a?, #path_with_line_numbers, #present, #url_builder, #web_path, #web_url

Methods included from Gitlab::Allowable

#can?

Methods included from Gitlab::Routing

includes_helpers, redirect_legacy_paths, url_helpers

Constructor Details

This class inherits a constructor from Gitlab::View::Presenter::Delegated

Instance Method Details

#blobObject



37
38
39
40
41
# File 'app/presenters/snippet_presenter.rb', line 37

def blob
  return snippet.blob if snippet.empty_repo?

  blobs.first
end

#can_admin_snippet?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/presenters/snippet_presenter.rb', line 28

def can_admin_snippet?
  can_access_resource?("admin")
end

#can_read_snippet?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/presenters/snippet_presenter.rb', line 20

def can_read_snippet?
  can_access_resource?("read")
end

#can_report_as_spam?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/presenters/snippet_presenter.rb', line 32

def can_report_as_spam?
  snippet.submittable_as_spam_by?(current_user)
end

#can_update_snippet?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/presenters/snippet_presenter.rb', line 24

def can_update_snippet?
  can_access_resource?("update")
end

#http_url_to_repoObject



16
17
18
# File 'app/presenters/snippet_presenter.rb', line 16

def http_url_to_repo
  snippet.http_url_to_repo if snippet.repository_exists?
end

#raw_urlObject



6
7
8
# File 'app/presenters/snippet_presenter.rb', line 6

def raw_url
  url_builder.build(snippet, raw: true)
end

#ssh_url_to_repoObject



11
12
13
# File 'app/presenters/snippet_presenter.rb', line 11

def ssh_url_to_repo
  snippet.ssh_url_to_repo if snippet.repository_exists?
end