diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-05-12 18:26:01 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-05-12 18:27:59 +0300 |
commit | bbd1be002b15ad50b559c217c4e2f9d50a79ef20 (patch) | |
tree | 781f7cebf2f7aaa25568f5c0d60f0eebfe1f38d1 | |
parent | 1028e05378f1fd25b49d95f36cf577a2b819844d (diff) | |
download | gitlab-ce-bbd1be002b15ad50b559c217c4e2f9d50a79ef20.tar.gz |
Change project list cache key to use route.cache_key instead of namespacedz-project-list-cache-key
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r-- | app/helpers/projects_helper.rb | 3 | ||||
-rw-r--r-- | app/models/namespace.rb | 4 | ||||
-rw-r--r-- | app/models/route.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/dz-project-list-cache-key.yml | 2 | ||||
-rw-r--r-- | spec/helpers/projects_helper_spec.rb | 10 | ||||
-rw-r--r-- | spec/models/namespace_spec.rb | 6 |
6 files changed, 5 insertions, 22 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index fd85217debf..98bbcfaaba5 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -158,8 +158,7 @@ module ProjectsHelper def project_list_cache_key(project) key = [ - 'parent/' + project.namespace.parent_full_path, - project.namespace.cache_key, + project.route.cache_key, project.cache_key, controller.controller_name, controller.action_name, diff --git a/app/models/namespace.rb b/app/models/namespace.rb index cf82b56cc7a..a7ede5e3b9e 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -224,10 +224,6 @@ class Namespace < ActiveRecord::Base parent.present? end - def parent_full_path - full_path.split('/')[0...-1].join('/') - end - private def repository_storage_paths diff --git a/app/models/route.rb b/app/models/route.rb index 12a7fa3d01b..be77b8b51a5 100644 --- a/app/models/route.rb +++ b/app/models/route.rb @@ -35,7 +35,7 @@ class Route < ActiveRecord::Base old_path = route.path # Callbacks must be run manually - route.update_columns(attributes) + route.update_columns(attributes.merge(updated_at: Time.now)) # We are not calling route.delete_conflicting_redirects here, in hopes # of avoiding deadlocks. The parent (self, in this method) already diff --git a/changelogs/unreleased/dz-project-list-cache-key.yml b/changelogs/unreleased/dz-project-list-cache-key.yml index 79d89b1c509..9e4826e686a 100644 --- a/changelogs/unreleased/dz-project-list-cache-key.yml +++ b/changelogs/unreleased/dz-project-list-cache-key.yml @@ -1,4 +1,4 @@ --- -title: Add parent full path to project list cache key +title: Use route.cache_key for project list cache key merge_request: 11325 author: diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index ceabf0caf31..54c5ba57bdf 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -66,14 +66,8 @@ describe ProjectsHelper do describe "#project_list_cache_key", redis: true do let(:project) { create(:project) } - it "includes the namespace" do - expect(helper.project_list_cache_key(project)).to include(project.namespace.cache_key) - end - - it "includes the parent namespace in case of subgroup" do - project = create(:project, group: create(:group, :nested)) - - expect(helper.project_list_cache_key(project)).to include("parent/#{project.namespace.parent.path}") + it "includes the route" do + expect(helper.project_list_cache_key(project)).to include(project.route.cache_key) end it "includes the project" do diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index ca61e34b78e..8624616316c 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -332,10 +332,4 @@ describe Namespace, models: true do it { expect(group.all_projects.to_a).to eq([project2, project1]) } end - - describe '#parent_full_path' do - let(:namespace) { create(:group, :nested) } - - it { expect(namespace.parent_full_path).to eq(namespace.parent.path) } - end end |