Class: RuboCop::Cop::Style::AccessModifierDeclarations
- Includes:
- ConfigurableEnforcedStyle
- 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
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
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
#add_global_offense, #add_offense, autocorrect_incompatible_with, badge, 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, joining_forces, lint?, match?, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #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?, #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
81 82 83 |
# File 'lib/rubocop/cop/style/access_modifier_declarations.rb', line 81 def_node_matcher :access_modifier_with_symbol?, "(send nil? {:private :protected :public} (sym _))\n" |
#on_send(node) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/rubocop/cop/style/access_modifier_declarations.rb', line 85 def on_send(node) return unless node.access_modifier? return if node.parent&.pair_type? return if allow_modifiers_on_symbols?(node) if offense?(node) add_offense(node.loc.selector) do opposite_style_detected end else correct_style_detected end end |