2016-11-07 13:16:04 +00:00
|
|
|
class GroupUrlConstrainer
|
|
|
|
def matches?(request)
|
2016-11-14 14:55:31 +00:00
|
|
|
id = request.params[:id]
|
|
|
|
|
|
|
|
return false unless valid?(id)
|
|
|
|
|
2016-10-31 11:00:53 +00:00
|
|
|
Group.find_by_full_path(id).present?
|
2016-11-14 14:55:31 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
2016-11-07 13:16:04 +00:00
|
|
|
|
2016-11-14 14:55:31 +00:00
|
|
|
def valid?(id)
|
|
|
|
id.split('/').all? do |namespace|
|
|
|
|
NamespaceValidator.valid?(namespace)
|
2016-11-07 13:16:04 +00:00
|
|
|
end
|
2016-10-06 12:14:24 +00:00
|
|
|
end
|
|
|
|
end
|