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:
Diffstat (limited to 'lib/feature/definition.rb')
-rw-r--r--lib/feature/definition.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/feature/definition.rb b/lib/feature/definition.rb
index 270bf46221d..2bad7cfd33d 100644
--- a/lib/feature/definition.rb
+++ b/lib/feature/definition.rb
@@ -7,6 +7,8 @@ module Feature
attr_reader :path
attr_reader :attributes
+ VALID_FEATURE_NAME = %r{^#{Gitlab::Regex.sep_by_1('_', /[a-z0-9]+/)}$}.freeze
+
PARAMS.each do |param|
define_method(param) do
attributes[param]
@@ -38,6 +40,10 @@ module Feature
raise Feature::InvalidFeatureFlagError, "Feature flag is missing name"
end
+ unless VALID_FEATURE_NAME =~ name
+ raise Feature::InvalidFeatureFlagError, "Feature flag '#{name}' is invalid"
+ end
+
unless path.present?
raise Feature::InvalidFeatureFlagError, "Feature flag '#{name}' is missing path"
end