1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# frozen_string_literal: true
module Routing
module SnippetsHelper
def gitlab_snippet_path(snippet, *args)
if snippet.is_a?(ProjectSnippet)
project_snippet_path(snippet.project, snippet, *args)
else
new_args = snippet_query_params(snippet, *args)
snippet_path(snippet, *new_args)
end
end
def gitlab_snippet_url(snippet, *args)
if snippet.is_a?(ProjectSnippet)
project_snippet_url(snippet.project, snippet, *args)
else
new_args = snippet_query_params(snippet, *args)
snippet_url(snippet, *new_args)
end
end
def gitlab_dashboard_snippets_path(snippet, *args)
if snippet.is_a?(ProjectSnippet)
project_snippets_path(snippet.project, *args)
else
dashboard_snippets_path
end
end
def gitlab_raw_snippet_path(snippet, *args)
if snippet.is_a?(ProjectSnippet)
raw_project_snippet_path(snippet.project, snippet, *args)
else
new_args = snippet_query_params(snippet, *args)
raw_snippet_path(snippet, *new_args)
end
end
def gitlab_raw_snippet_url(snippet, *args)
if snippet.is_a?(ProjectSnippet)
raw_project_snippet_url(snippet.project, snippet, *args)
else
new_args = snippet_query_params(snippet, *args)
raw_snippet_url(snippet, *new_args)
end
end
def gitlab_raw_snippet_blob_url(snippet, path, ref = nil, **options)
params = {
snippet_id: snippet,
ref: ref || snippet.default_branch,
path: path
}
if snippet.is_a?(ProjectSnippet)
project_snippet_blob_raw_url(snippet.project, **params, **options)
else
snippet_blob_raw_url(**params, **options)
end
end
def gitlab_raw_snippet_blob_path(snippet, path, ref = nil, **options)
gitlab_raw_snippet_blob_url(snippet, path, ref, only_path: true, **options)
end
def gitlab_snippet_notes_path(snippet, *args)
new_args = snippet_query_params(snippet, *args)
snippet_notes_path(snippet, *new_args)
end
def gitlab_snippet_notes_url(snippet, *args)
new_args = snippet_query_params(snippet, *args)
snippet_notes_url(snippet, *new_args)
end
def gitlab_snippet_note_path(snippet, note, *args)
new_args = snippet_query_params(snippet, *args)
snippet_note_path(snippet, note, *new_args)
end
def gitlab_snippet_note_url(snippet, note, *args)
new_args = snippet_query_params(snippet, *args)
snippet_note_url(snippet, note, *new_args)
end
def gitlab_toggle_award_emoji_snippet_note_path(snippet, note, *args)
new_args = snippet_query_params(snippet, *args)
toggle_award_emoji_snippet_note_path(snippet, note, *new_args)
end
def gitlab_toggle_award_emoji_snippet_note_url(snippet, note, *args)
new_args = snippet_query_params(snippet, *args)
toggle_award_emoji_snippet_note_url(snippet, note, *new_args)
end
def gitlab_toggle_award_emoji_snippet_path(snippet, *args)
new_args = snippet_query_params(snippet, *args)
toggle_award_emoji_snippet_path(snippet, *new_args)
end
def gitlab_toggle_award_emoji_snippet_url(snippet, *args)
new_args = snippet_query_params(snippet, *args)
toggle_award_emoji_snippet_url(snippet, *new_args)
end
def preview_markdown_path(parent, *args)
return group_preview_markdown_path(parent, *args) if parent.is_a?(Group)
if @snippet.is_a?(PersonalSnippet)
preview_markdown_snippets_path
else
preview_markdown_project_path(parent, *args)
end
end
def toggle_award_emoji_personal_snippet_path(*args)
toggle_award_emoji_snippet_path(*args)
end
def toggle_award_emoji_project_project_snippet_path(*args)
toggle_award_emoji_project_snippet_path(*args)
end
def toggle_award_emoji_project_project_snippet_url(*args)
toggle_award_emoji_project_snippet_url(*args)
end
private
def snippet_query_params(snippet, *args)
opts = case args.last
when Hash
args.pop
when ActionController::Parameters
args.pop.to_h
else
{}
end
args << opts
end
end
end
|