Class: RuboCop::Cop::Lint::UselessAccessModifier
- Defined in:
- lib/rubocop/cop/lint/useless_access_modifier.rb
Overview
This cop checks for redundant access modifiers, including those with no code, those which are repeated, and leading ‘public` modifiers in a class or module body. Conditionally-defined methods are considered as always being defined, and thus access modifiers guarding such methods are not redundant.
This cop has ‘ContextCreatingMethods` option. The default setting value is an empty array that means no method is specified. This setting is an array of methods which, when called, are known to create its own context in the module’s current access context.
It also has ‘MethodCreatingMethods` option. The default setting value is an empty array that means no method is specified. This setting is an array of methods which, when called, are known to create other methods in the module’s current access context.
Constant Summary collapse
- MSG =
'Useless `%<current>s` access modifier.'
Constants included from Util
Instance Attribute Summary
Attributes inherited from Cop
#config, #corrections, #offenses, #processed_source
Instance Method Summary collapse
- #on_block(node) ⇒ Object
- #on_class(node) ⇒ Object
- #on_module(node) ⇒ Object
- #on_sclass(node) ⇒ Object
Methods inherited from Cop
#add_offense, all, autocorrect_incompatible_with, badge, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, #cop_name, cop_name, #correct, department, #disable_uncorrectable, #duplicate_location?, #excluded_file?, #external_dependency_checksum, #find_location, #highlights, inherited, #initialize, #join_force?, lint?, match?, #message, #messages, #parse, qualified_cop_name, #reason_to_not_correct, #relevant_file?, #target_rails_version, #target_ruby_version
Methods included from AST::Sexp
Methods included from NodePattern::Macros
#def_node_matcher, #def_node_search, #node_search, #node_search_all, #node_search_body, #node_search_first
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #correctable?, #disable_offense, #disable_uncorrectable?, #safe_autocorrect?, #support_autocorrect?
Methods included from IgnoredNode
#ignore_node, #ignored_node?, #part_of_ignored_node?
Methods included from Util
begins_its_line?, comment_line?, double_quotes_required?, escape_string, first_part_of_call_chain, interpret_string_escapes, line_range, needs_escaping?, on_node, parentheses?, same_line?, to_string_literal, to_supported_styles, tokens, trim_string_interporation_escape_character
Methods included from PathUtil
absolute?, chdir, hidden_dir?, hidden_file_in_not_hidden_dir?, match_path?, pwd, relative_path, reset_pwd, smart_path
Constructor Details
This class inherits a constructor from RuboCop::Cop::Cop
Instance Method Details
#on_block(node) ⇒ Object
138 139 140 141 142 |
# File 'lib/rubocop/cop/lint/useless_access_modifier.rb', line 138 def on_block(node) return unless eval_call?(node) check_node(node.body) end |
#on_class(node) ⇒ Object
130 131 132 |
# File 'lib/rubocop/cop/lint/useless_access_modifier.rb', line 130 def on_class(node) check_node(node.children[2]) # class body end |
#on_module(node) ⇒ Object
134 135 136 |
# File 'lib/rubocop/cop/lint/useless_access_modifier.rb', line 134 def on_module(node) check_node(node.children[1]) # module body end |
#on_sclass(node) ⇒ Object
144 145 146 |
# File 'lib/rubocop/cop/lint/useless_access_modifier.rb', line 144 def on_sclass(node) check_node(node.children[1]) # singleton class body end |