Class: RuboCop::Cop::Style::InPatternThen
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Style::InPatternThen
- Extended by:
- AutoCorrector, TargetRubyVersion
- Defined in:
- lib/rubocop/cop/style/in_pattern_then.rb
Overview
Checks for ‘in;` uses in `case` expressions.
Constant Summary collapse
- MSG =
'Do not use `in %<pattern>s;`. Use `in %<pattern>s then` instead.'
Instance Method Summary collapse
Methods included from AutoCorrector
Methods included from TargetRubyVersion
maximum_target_ruby_version, minimum_target_ruby_version, required_maximum_ruby_version, required_minimum_ruby_version, support_target_ruby_version?
Instance Method Details
#on_in_pattern(node) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rubocop/cop/style/in_pattern_then.rb', line 29 def on_in_pattern(node) return if node.multiline? || node.then? || !node.body pattern = node.pattern pattern_source = if pattern.match_alt_type? alternative_pattern_source(pattern) else pattern.source end add_offense(node.loc.begin, message: format(MSG, pattern: pattern_source)) do |corrector| corrector.replace(node.loc.begin, ' then') end end |