Class: RuboCop::Cop::Style::OpenStructUse
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Style::OpenStructUse
- Defined in:
- lib/rubocop/cop/style/open_struct_use.rb
Overview
Flags uses of ‘OpenStruct`, as it is now officially discouraged to be used for performance, version compatibility, and potential security issues.
Constant Summary collapse
- MSG =
'Avoid using `OpenStruct`; use `Struct`, `Hash`, a class or test doubles instead.'
Instance Method Summary collapse
Instance Method Details
#on_const(node) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/rubocop/cop/style/open_struct_use.rb', line 52 def on_const(node) return unless uses_open_struct?(node) return if custom_class_or_module_definition?(node) add_offense(node) end |
#uses_open_struct?(node) ⇒ Object
48 49 50 |
# File 'lib/rubocop/cop/style/open_struct_use.rb', line 48 def_node_matcher :uses_open_struct?, <<~PATTERN (const {nil? (cbase)} :OpenStruct) PATTERN |