lib/rubocop/cop/style/open_struct_use.rb in gitlab-styles-11.0.0 vs lib/rubocop/cop/style/open_struct_use.rb in gitlab-styles-13.0.0
- old
+ new
@@ -4,17 +4,26 @@
module Cop
module Style
# Flags uses of OpenStruct, as it is now officially discouraged
# to be used for performance, version compatibility, and potential security issues.
#
+ # @example
+ # # bad
+ # class SubClass < OpenStruct
+ # end
+ #
+ # # good
+ # class SubClass
+ # end
+ #
# See also:
# - https://rubyreferences.github.io/rubychanges/3.0.html#standard-library
# - https://docs.ruby-lang.org/en/3.0.0/OpenStruct.html#class-OpenStruct-label-Caveats
# - https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67855
class OpenStructUse < RuboCop::Cop::Base
MSG = 'Avoid using `OpenStruct`. It is officially discouraged. ' \
- 'Replace it with `Struct`, `Hash`, or RSpec doubles. ' \
- 'See https://docs.ruby-lang.org/en/3.0.0/OpenStruct.html#class-OpenStruct-label-Caveats'
+ 'Replace it with `Struct`, `Hash`, or RSpec doubles. ' \
+ 'See https://docs.ruby-lang.org/en/3.0.0/OpenStruct.html#class-OpenStruct-label-Caveats'
# @!method uses_open_struct?(node)
def_node_matcher :uses_open_struct?, <<-PATTERN
(const {nil? (cbase)} :OpenStruct)
PATTERN