Commit 3e0b8e00 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Rename Routable.where_paths_in to Routable.where_full_path_in


Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent b5711b504526
......@@ -29,17 +29,17 @@ def find_by_full_path(path)
order_sql = "(CASE WHEN #{binary} routes.path = #{connection.quote(path)} THEN 0 ELSE 1 END)"
where_paths_in([path]).reorder(order_sql).take
where_full_path_in([path]).reorder(order_sql).take
end
# Builds a relation to find multiple objects by their full paths.
#
# Usage:
#
# Klass.where_paths_in(%w{gitlab-org/gitlab-ce gitlab-org/gitlab-ee})
# Klass.where_full_path_in(%w{gitlab-org/gitlab-ce gitlab-org/gitlab-ee})
#
# Returns an ActiveRecord::Relation.
def where_paths_in(paths)
def where_full_path_in(paths)
wheres = []
cast_lower = Gitlab::Database.postgresql?
......
......@@ -248,7 +248,7 @@ def projects_per_reference
end
def projects_relation_for_paths(paths)
Project.where_paths_in(paths).includes(:namespace)
Project.where_full_path_in(paths).includes(:namespace)
end
# Returns projects for the given paths.
......
......@@ -39,16 +39,16 @@
it { expect(described_class.find_by_full_path('unknown')).to eq(nil) }
end
describe '.where_paths_in' do
describe '.where_full_path_in' do
context 'without any paths' do
it 'returns an empty relation' do
expect(described_class.where_paths_in([])).to eq([])
expect(described_class.where_full_path_in([])).to eq([])
end
end
context 'without any valid paths' do
it 'returns an empty relation' do
expect(described_class.where_paths_in(%w[unknown])).to eq([])
expect(described_class.where_full_path_in(%w[unknown])).to eq([])
end
end
......@@ -56,13 +56,13 @@
let!(:nested_group) { create(:group, parent: group) }
it 'returns the projects matching the paths' do
result = described_class.where_paths_in([group.to_param, nested_group.to_param])
result = described_class.where_full_path_in([group.to_param, nested_group.to_param])
expect(result).to contain_exactly(group, nested_group)
end
it 'returns projects regardless of the casing of paths' do
result = described_class.where_paths_in([group.to_param.upcase, nested_group.to_param.upcase])
result = described_class.where_full_path_in([group.to_param.upcase, nested_group.to_param.upcase])
expect(result).to contain_exactly(group, nested_group)
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment