Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-12-08 00:29:39 +0300
committerRobert Speicher <rspeicher@gmail.com>2015-12-08 00:57:26 +0300
commit2379c8beeac600c3352e33fda0c2b4f4f39c8b84 (patch)
tree52af8dd15a44bc8aeb508682fb26d8d28f7909bc /app/validators
parent175f482c3cd584ba73c66e65aa180c1107e72913 (diff)
Inline Gitlab::Blacklist in NamespaceValidator
Diffstat (limited to 'app/validators')
-rw-r--r--app/validators/namespace_validator.rb36
1 files changed, 32 insertions, 4 deletions
diff --git a/app/validators/namespace_validator.rb b/app/validators/namespace_validator.rb
index 4ab1706abda..10e35ce665a 100644
--- a/app/validators/namespace_validator.rb
+++ b/app/validators/namespace_validator.rb
@@ -2,21 +2,49 @@
#
# Custom validator for GitLab namespace values.
#
-# Values are checked for formatting and exclusion from `Gitlab::Blacklist.path`.
+# Values are checked for formatting and exclusion from a list of reserved path
+# names.
class NamespaceValidator < ActiveModel::EachValidator
+ RESERVED = %w(
+ admin
+ all
+ assets
+ ci
+ dashboard
+ files
+ groups
+ help
+ hooks
+ issues
+ merge_requests
+ notes
+ profile
+ projects
+ public
+ repository
+ s
+ search
+ services
+ snippets
+ teams
+ u
+ unsubscribes
+ users
+ ).freeze
+
def validate_each(record, attribute, value)
unless value =~ Gitlab::Regex.namespace_regex
record.errors.add(attribute, Gitlab::Regex.namespace_regex_message)
end
- if blacklisted?(value)
+ if reserved?(value)
record.errors.add(attribute, "#{value} is a reserved name")
end
end
private
- def blacklisted?(value)
- Gitlab::Blacklist.path.include?(value)
+ def reserved?(value)
+ RESERVED.include?(value)
end
end