diff options
Diffstat (limited to 'app/graphql/types/base_enum.rb')
-rw-r--r-- | app/graphql/types/base_enum.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/graphql/types/base_enum.rb b/app/graphql/types/base_enum.rb index 7ef1cbddbd9..d70236f16f9 100644 --- a/app/graphql/types/base_enum.rb +++ b/app/graphql/types/base_enum.rb @@ -2,7 +2,19 @@ module Types class BaseEnum < GraphQL::Schema::Enum - extend GitlabStyleDeprecations + class CustomValue < GraphQL::Schema::EnumValue + include ::GitlabStyleDeprecations + + attr_reader :deprecation + + def initialize(name, desc = nil, **kwargs) + @deprecation = gitlab_deprecation(kwargs) + + super(name, desc, **kwargs) + end + end + + enum_value_class(CustomValue) class << self # Registers enum definition by the given DeclarativeEnum module @@ -41,7 +53,6 @@ module Types def value(*args, **kwargs, &block) enum[args[0].downcase] = kwargs[:value] || args[0] - gitlab_deprecation(kwargs) super(*args, **kwargs, &block) end |