summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarin Jankovski <marin@gitlab.com>2017-07-09 03:50:48 +0000
committerMarin Jankovski <marin@gitlab.com>2017-07-09 03:50:48 +0000
commitf225cc9b97e97372ab035225112cd5f5d44c0e31 (patch)
treea3d1f6f3a5f21333104233cc759cd9cf7e38352c
parent420f6b5474e49e17226415250846e48fe514fe0d (diff)
parent5ae4592637a134bc14f4b082f0bf2b023a884e22 (diff)
downloadgitlab-ce-f225cc9b97e97372ab035225112cd5f5d44c0e31.tar.gz
Also inject new route helpers into includers of GitlabRoutingHelper Closes #34859 See merge request !12735
-rw-r--r--app/helpers/gitlab_routing_helper.rb4
-rw-r--r--lib/gitlab/routing.rb13
2 files changed, 13 insertions, 4 deletions
diff --git a/app/helpers/gitlab_routing_helper.rb b/app/helpers/gitlab_routing_helper.rb
index 2e36d0fdb5a..0517a699ae0 100644
--- a/app/helpers/gitlab_routing_helper.rb
+++ b/app/helpers/gitlab_routing_helper.rb
@@ -2,6 +2,10 @@
module GitlabRoutingHelper
extend ActiveSupport::Concern
+ included do
+ Gitlab::Routing.includes_helpers(self)
+ end
+
# Project
def project_tree_path(project, ref = nil, *args)
namespace_project_tree_path(project.namespace, project, ref || @ref || project.repository.root_ref, *args) # rubocop:disable Cop/ProjectPathHelper
diff --git a/lib/gitlab/routing.rb b/lib/gitlab/routing.rb
index ac1e864433b..e57890f1143 100644
--- a/lib/gitlab/routing.rb
+++ b/lib/gitlab/routing.rb
@@ -6,21 +6,26 @@ module Gitlab
self._includers = []
included do
- Gitlab::Routing._includers << self
+ Gitlab::Routing.includes_helpers(self)
+
include Gitlab::Routing.url_helpers
end
+ def self.includes_helpers(klass)
+ self._includers << klass
+ end
+
def self.add_helpers(mod)
url_helpers.include mod
url_helpers.extend mod
+ GitlabRoutingHelper.include mod
+ GitlabRoutingHelper.extend mod
+
app_url_helpers = Gitlab::Application.routes.named_routes.url_helpers_module
app_url_helpers.include mod
app_url_helpers.extend mod
- GitlabRoutingHelper.include mod
- GitlabRoutingHelper.extend mod
-
_includers.each do |klass|
klass.include mod
end