summaryrefslogtreecommitdiff
path: root/lib/constraints/group_url_constrainer.rb
blob: bae4db1ca4d4231e6e1b0d6b848a830b6bc4ad1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class GroupUrlConstrainer
  def matches?(request)
    id = request.params[: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