summaryrefslogtreecommitdiff
path: root/lib/constraints/group_url_constrainer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/constraints/group_url_constrainer.rb')
-rw-r--r--lib/constraints/group_url_constrainer.rb18
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/constraints/group_url_constrainer.rb b/lib/constraints/group_url_constrainer.rb
index ca39b1961ae..bae4db1ca4d 100644
--- a/lib/constraints/group_url_constrainer.rb
+++ b/lib/constraints/group_url_constrainer.rb
@@ -1,7 +1,17 @@
-require 'constraints/namespace_url_constrainer'
+class GroupUrlConstrainer
+ def matches?(request)
+ id = request.params[:id]
-class GroupUrlConstrainer < NamespaceUrlConstrainer
- def find_resource(id)
- Group.find_by_path(id)
+ return false unless valid?(id)
+
+ Group.find_by_full_path(id).present?
+ end
+
+ private
+
+ def valid?(id)
+ id.split('/').all? do |namespace|
+ NamespaceValidator.valid?(namespace)
+ end
end
end