Class: RuboCop::Cop::Style::BlockDelimiters
- Extended by:
- AutoCorrector
- Includes:
- AllowedMethods, AllowedPattern, ConfigurableEnforcedStyle, RangeHelp
- Defined in:
- lib/rubocop/cop/style/block_delimiters.rb
Overview
Check for uses of braces or do/end around single line or multi-line blocks.
Methods that can be either procedural or functional and cannot be
categorised from their usage alone is ignored.
lambda, proc, and it are their defaults.
Additional methods can be added to the AllowedMethods.
Constant Summary collapse
- ALWAYS_BRACES_MESSAGE =
'Prefer `{...}` over `do...end` for blocks.'- BRACES_REQUIRED_MESSAGE =
"Brace delimiters `{...}` required for '%<method_name>s' method."
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #on_block(node) ⇒ Object (also: #on_numblock)
- #on_send(node) ⇒ Object
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, 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, #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
#on_block(node) ⇒ Object Also known as: on_numblock
194 195 196 197 198 199 200 201 202 |
# File 'lib/rubocop/cop/style/block_delimiters.rb', line 194 def on_block(node) return if ignored_node?(node) return if proper_block_style?(node) = (node) add_offense(node.loc.begin, message: ) do |corrector| autocorrect(corrector, node) end end |
#on_send(node) ⇒ Object
179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/rubocop/cop/style/block_delimiters.rb', line 179 def on_send(node) return unless node.arguments? return if node.parenthesized? return if node.operator_method? || node.assignment_method? node.arguments.each do |arg| get_blocks(arg) do |block| # If there are no parentheses around the arguments, then braces # and do-end have different meaning due to how they bind, so we # allow either. ignore_node(block) end end end |