Class: RuboCop::Cop::Style::AccessModifierDeclarations
- Extended by:
- AutoCorrector
- Includes:
- ConfigurableEnforcedStyle, RangeHelp
- Defined in:
- lib/rubocop/cop/style/access_modifier_declarations.rb
Overview
Access modifiers should be declared to apply to a group of methods or inline before each method, depending on configuration. EnforcedStyle config covers only method definitions. Applications of visibility methods to symbols can be controlled using AllowModifiersOnSymbols config.
Constant Summary collapse
- GROUP_STYLE_MESSAGE =
[ '`%<access_modifier>s` should not be', 'inlined in method definitions.' ].join(' ')
- INLINE_STYLE_MESSAGE =
[ '`%<access_modifier>s` should be', 'inlined in method definitions.' ].join(' ')
- RESTRICT_ON_SEND =
%i[private protected public module_function].freeze
- ALLOWED_NODE_TYPES =
%i[pair block].freeze
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods included from AutoCorrector
Methods included from ConfigurableEnforcedStyle
#alternative_style, #alternative_styles, #ambiguous_style_detected, #correct_style_detected, #detected_style, #detected_style=, #no_acceptable_style!, #no_acceptable_style?, #opposite_style_detected, #style, #style_configured?, #style_detected, #style_parameter_name, #supported_styles, #unexpected_style_detected
Methods inherited from Base
#active_support_extensions_enabled?, #add_global_offense, #add_offense, autocorrect_incompatible_with, badge, #begin_investigation, callbacks_needed, #callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, #inspect, joining_forces, lint?, match?, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #parse, #ready, #relevant_file?, support_autocorrect?, support_multiple_source?, #target_rails_version, #target_ruby_version
Methods included from ExcludeLimit
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #autocorrect_with_disable_uncorrectable?, #correctable?, #disable_uncorrectable?, #safe_autocorrect?
Methods included from IgnoredNode
#ignore_node, #ignored_node?, #part_of_ignored_node?
Methods included from Util
Constructor Details
This class inherits a constructor from RuboCop::Cop::Base
Instance Method Details
#access_modifier_with_symbol?(node) ⇒ Object
91 92 93 |
# File 'lib/rubocop/cop/style/access_modifier_declarations.rb', line 91 def_node_matcher :access_modifier_with_symbol?, <<~PATTERN (send nil? {:private :protected :public :module_function} (sym _)) PATTERN |
#on_send(node) ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/rubocop/cop/style/access_modifier_declarations.rb', line 95 def on_send(node) return unless node.access_modifier? return if ALLOWED_NODE_TYPES.include?(node.parent&.type) return if allow_modifiers_on_symbols?(node) if offense?(node) add_offense(node.loc.selector) do |corrector| autocorrect(corrector, node) end opposite_style_detected else correct_style_detected end end |