diff options
Diffstat (limited to 'lib/gitlab/url_builder.rb')
-rw-r--r-- | lib/gitlab/url_builder.rb | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/gitlab/url_builder.rb b/lib/gitlab/url_builder.rb index cd15130cee6..1e522ae63b6 100644 --- a/lib/gitlab/url_builder.rb +++ b/lib/gitlab/url_builder.rb @@ -71,7 +71,11 @@ module Gitlab end def snippet_url(snippet, **options) - if options.delete(:raw).present? + if options[:file].present? + file, ref = options.values_at(:file, :ref) + + instance.gitlab_raw_snippet_blob_url(snippet, file, ref) + elsif options.delete(:raw).present? instance.gitlab_raw_snippet_url(snippet, **options) else instance.gitlab_snippet_url(snippet, **options) @@ -81,9 +85,11 @@ module Gitlab def wiki_url(wiki, **options) return wiki_page_url(wiki, Wiki::HOMEPAGE, **options) unless options[:action] - options[:controller] = 'projects/wikis' - options[:namespace_id] = wiki.container.namespace - options[:project_id] = wiki.container + if wiki.container.is_a?(Project) + options[:controller] = 'projects/wikis' + options[:namespace_id] = wiki.container.namespace + options[:project_id] = wiki.container + end instance.url_for(**options) end |