diff options
Diffstat (limited to 'app/models/concerns/enum_with_nil.rb')
-rw-r--r-- | app/models/concerns/enum_with_nil.rb | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/app/models/concerns/enum_with_nil.rb b/app/models/concerns/enum_with_nil.rb deleted file mode 100644 index c66942025d7..00000000000 --- a/app/models/concerns/enum_with_nil.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module EnumWithNil - extend ActiveSupport::Concern - - included do - def self.enum_with_nil(definitions) - # use original `enum` to auto-define all methods - enum(definitions) - - # override auto-defined methods only for the - # key which uses nil value - definitions.each do |name, values| - # E.g. for enum_with_nil failure_reason: { unknown_failure: nil } - # this overrides auto-generated method `failure_reason` - define_method(name) do - orig = super() - - return orig unless orig.nil? - - self.class.public_send(name.to_s.pluralize).key(nil) # rubocop:disable GitlabSecurity/PublicSend - end - end - end - end -end |