Class: RuboCop::Cop::Style::MultilineMethodDefinitionBraceLayout
- Includes:
- MultilineLiteralBraceLayout, OnMethodDef
- Defined in:
- lib/rubocop/cop/style/multiline_method_definition_brace_layout.rb
Overview
This cop checks that the closing brace in a method definition is symmetrical with respect to the opening brace and the method parameters.
If a method definition’s opening brace is on the same line as the first parameter of the definition, then the closing brace should be on the same line as the last parameter of the definition.
If a method definition’s opening brace is on a separate line from the first parameter of the definition, then the closing brace should be on the line after the last parameter of the definition.
Constant Summary collapse
- SAME_LINE_MESSAGE =
'Closing method definition brace must be on the ' \ 'same line as the last parameter when opening brace is on the same ' \ 'line as the first parameter.'.freeze
- NEW_LINE_MESSAGE =
'Closing method definition brace must be on the ' \ 'line after the last parameter when opening brace is on a separate ' \ 'line from the first parameter.'.freeze
Constants included from Util
Util::ASGN_NODES, Util::BYTE_ORDER_MARK, Util::EQUALS_ASGN_NODES, Util::LITERAL_REGEX, Util::OPERATOR_METHODS, Util::SHORTHAND_ASGN_NODES, Util::STRING_ESCAPES, Util::STRING_ESCAPE_REGEX
Instance Attribute Summary
Attributes inherited from Cop
#config, #corrections, #offenses, #processed_source
Instance Method Summary collapse
Methods included from MultilineLiteralBraceLayout
#autocorrect, #check_brace_layout
Methods included from OnMethodDef
Methods inherited from Cop
#add_offense, all, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, cop_type, #correct, #debug?, #details, #display_cop_names?, #display_style_guide?, #excluded_file?, #extra_details?, inherited, #initialize, #join_force?, lint?, match?, #message, non_rails, #parse, qualified_cop_name, #reference_url, #relevant_file?, #style_guide_url, #target_ruby_version
Methods included from Sexp
Methods included from NodePattern::Macros
#def_node_matcher, #def_node_search, #node_search_body
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #support_autocorrect?
Methods included from IgnoredNode
#ignore_node, #ignored_node?, #part_of_ignored_node?
Methods included from Util
begins_its_line?, block_length, comment_line?, directions, double_quotes_acceptable?, double_quotes_required?, effective_column, ends_its_line?, first_part_of_call_chain, interpret_string_escapes, line_range, move_pos, numeric_range_size, on_node, operator?, parentheses?, range_with_surrounding_comma, range_with_surrounding_space, source_range, strip_quotes, to_string_literal, to_symbol_literal, within_node?
Methods included from PathUtil
absolute?, hidden?, issue_deprecation_warning, match_path?, relative_path
Constructor Details
This class inherits a constructor from RuboCop::Cop::Cop
Instance Method Details
#on_method_def(_node, _method_name, args, _body) ⇒ Object
56 57 58 |
# File 'lib/rubocop/cop/style/multiline_method_definition_brace_layout.rb', line 56 def on_method_def(_node, _method_name, args, _body) check_brace_layout(args) end |