diff options
Diffstat (limited to 'lib/feature/definition.rb')
-rw-r--r-- | lib/feature/definition.rb | 6 |
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 |