From fec21f5542b4b50cb1e49a6c50c8b4d57fa9f62e Mon Sep 17 00:00:00 2001 From: Thong Kuah Date: Fri, 2 Nov 2018 10:41:53 +1300 Subject: [PATCH] Use polymorphic_paths where we can To reduce the number of abstract methods, use polymorphic_paths for collection routes. Unfortunately for member routes, polymorphic_paths does not support namespaced classes, so still continue to override methods. --- app/presenters/clusterable_presenter.rb | 12 ++++------- .../project_clusterable_presenter.rb | 20 ------------------- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/app/presenters/clusterable_presenter.rb b/app/presenters/clusterable_presenter.rb index 61e00b31185..cff0e74d6ea 100644 --- a/app/presenters/clusterable_presenter.rb +++ b/app/presenters/clusterable_presenter.rb @@ -17,23 +17,19 @@ class ClusterablePresenter < Gitlab::View::Presenter::Delegated end def index_path - raise NotImplementedError + polymorphic_path([clusterable, :clusters]) end def new_path - raise NotImplementedError - end - - def clusterable_params - raise NotImplementedError + new_polymorphic_path([clusterable, :cluster]) end def create_user_clusters_path - raise NotImplementedError + polymorphic_path([clusterable, :clusters], action: :create_user) end def create_gcp_clusters_path - raise NotImplementedError + polymorphic_path([clusterable, :clusters], action: :create_gcp) end def cluster_status_cluster_path(cluster, params = {}) diff --git a/app/presenters/project_clusterable_presenter.rb b/app/presenters/project_clusterable_presenter.rb index bd149cdcc70..12077b2e735 100644 --- a/app/presenters/project_clusterable_presenter.rb +++ b/app/presenters/project_clusterable_presenter.rb @@ -1,22 +1,6 @@ # frozen_string_literal: true class ProjectClusterablePresenter < ClusterablePresenter - def index_path - project_clusters_path(clusterable) - end - - def new_path - new_project_cluster_path(clusterable) - end - - def create_user_clusters_path - create_user_project_clusters_path(clusterable) - end - - def create_gcp_clusters_path - create_gcp_project_clusters_path(clusterable) - end - def cluster_status_cluster_path(cluster, params = {}) cluster_status_project_cluster_path(clusterable, cluster, params) end @@ -28,8 +12,4 @@ class ProjectClusterablePresenter < ClusterablePresenter def cluster_path(cluster, params = {}) project_cluster_path(clusterable, cluster, params) end - - def clusterable_params - { project_id: clusterable.to_param, namespace_id: clusterable.namespace.to_param } - end end