Add 'entries' DSL to Configurable Concern
What does this MR do?
This is a pure refactor which will DRY quite a few places where we have similar logic when defining entries.
This introduces a new entries
method similar to the existing entry
method which can be used to configure and an arbitrary amount of child entry nodes within the parent class. This can be used when nodes can have arbitrary names but all use the same entry class and other options.
What this MR does not include:
There are quite a few more places in the codebase where we can use the entries
method but I wanted to keep this MR small for now.
This only covers when @config is a hash. A subsequent MR will cover when @config is an array.
Issue: #220759 (closed)
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team