Merge branch 'routing' into 'master'

Added & use Gitlab::Routing for URL helpers

Extracted from !3389

See merge request !3486
This commit is contained in:
Robert Speicher 2016-04-01 16:51:20 +00:00
commit 5627542fd4
20 changed files with 34 additions and 21 deletions

View file

@ -89,7 +89,7 @@ class Milestone < ActiveRecord::Base
def to_reference(from_project = nil)
escaped_title = self.title.gsub("]", "\\]")
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
url = h.namespace_project_milestone_url(self.project.namespace, self.project, self)
"[#{escaped_title}](#{url})"

View file

@ -471,7 +471,7 @@ class Project < ActiveRecord::Base
end
def web_url
Gitlab::Application.routes.url_helpers.namespace_project_url(self.namespace, self)
Gitlab::Routing.url_helpers.namespace_project_url(self.namespace, self)
end
def web_url_without_protocol
@ -592,7 +592,7 @@ class Project < ActiveRecord::Base
if avatar.present?
[gitlab_config.url, avatar.url].join
elsif avatar_in_git
Gitlab::Application.routes.url_helpers.namespace_project_avatar_url(namespace, self)
Gitlab::Routing.url_helpers.namespace_project_avatar_url(namespace, self)
end
end

View file

@ -20,7 +20,7 @@
#
class GitlabIssueTrackerService < IssueTrackerService
include Gitlab::Application.routes.url_helpers
include Gitlab::Routing.url_helpers
prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url

View file

@ -21,7 +21,7 @@
class JiraService < IssueTrackerService
include HTTParty
include Gitlab::Application.routes.url_helpers
include Gitlab::Routing.url_helpers
DEFAULT_API_VERSION = 2

View file

@ -224,7 +224,7 @@ class SystemNoteService
#
# "Started branch `issue-branch-button-201`"
def self.new_issue_branch(issue, project, author, branch)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
link = h.namespace_project_compare_url(project.namespace, project, from: project.default_branch, to: branch)
body = "Started branch [`#{branch}`](#{link})"

View file

@ -8,7 +8,7 @@ module API
expose :id, :state, :avatar_url
expose :web_url do |user, options|
Gitlab::Application.routes.url_helpers.user_url(user)
Gitlab::Routing.url_helpers.user_url(user)
end
end
@ -89,7 +89,7 @@ module API
expose :avatar_url
expose :web_url do |group, options|
Gitlab::Application.routes.url_helpers.group_url(group)
Gitlab::Routing.url_helpers.group_url(group)
end
end

View file

@ -43,7 +43,7 @@ module Banzai
end
def url_for_object(range, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_compare_url(project.namespace, project,
range.to_param.merge(only_path: context[:only_path]))
end

View file

@ -37,7 +37,7 @@ module Banzai
end
def url_for_object(commit, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_commit_url(project.namespace, project, commit,
only_path: context[:only_path])
end

View file

@ -31,7 +31,7 @@ module Banzai
end
def url_for_object(label, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_issues_url(project.namespace, project, label_name: label.name,
only_path: context[:only_path])
end

View file

@ -14,7 +14,7 @@ module Banzai
end
def url_for_object(mr, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_merge_request_url(project.namespace, project, mr,
only_path: context[:only_path])
end

View file

@ -11,7 +11,7 @@ module Banzai
end
def url_for_object(issue, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_milestone_url(project.namespace, project, milestone,
only_path: context[:only_path])
end

View file

@ -14,7 +14,7 @@ module Banzai
end
def url_for_object(snippet, project)
h = Gitlab::Application.routes.url_helpers
h = Gitlab::Routing.url_helpers
h.namespace_project_snippet_url(project.namespace, project, snippet,
only_path: context[:only_path])
end

View file

@ -90,7 +90,7 @@ module Banzai
private
def urls
Gitlab::Application.routes.url_helpers
Gitlab::Routing.url_helpers
end
def link_class

View file

@ -5,7 +5,7 @@ module Gitlab
attr_accessor :recipient
attr_reader :author_id, :ref, :action
include Gitlab::Application.routes.url_helpers
include Gitlab::Routing.url_helpers
delegate :namespace, :name_with_namespace, to: :project, prefix: :project
delegate :name, to: :author, prefix: :author

13
lib/gitlab/routing.rb Normal file
View file

@ -0,0 +1,13 @@
module Gitlab
module Routing
# Returns the URL helpers Module.
#
# This method caches the output as Rails' "url_helpers" method creates an
# anonymous module every time it's called.
#
# Returns a Module.
def self.url_helpers
@url_helpers ||= Gitlab::Application.routes.url_helpers
end
end
end

View file

@ -1,6 +1,6 @@
module Gitlab
class UrlBuilder
include Gitlab::Application.routes.url_helpers
include Gitlab::Routing.url_helpers
include GitlabRoutingHelper
include ActionView::RecordIdentifier

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe ExtractsPath, lib: true do
include ExtractsPath
include RepoHelpers
include Gitlab::Application.routes.url_helpers
include Gitlab::Routing.url_helpers
let(:project) { double('project') }

View file

@ -236,6 +236,6 @@ describe Gitlab::ClosingIssueExtractor, lib: true do
end
def urls
Gitlab::Application.routes.url_helpers
Gitlab::Routing.url_helpers
end
end

View file

@ -78,6 +78,6 @@ module FilterSpecHelper
# Shortcut to Rails' auto-generated routes helpers, to avoid including the
# module
def urls
Gitlab::Application.routes.url_helpers
Gitlab::Routing.url_helpers
end
end

View file

@ -106,7 +106,7 @@ class MarkdownFeature
end
def urls
Gitlab::Application.routes.url_helpers
Gitlab::Routing.url_helpers
end
def raw_markdown