class RuboCop::Cop::Style::IfUnlessModifierOfIfUnless
Checks for if and unless statements used as modifiers of other if or unless statements.
@example
# bad tired? ? 'stop' : 'go faster' if running? # bad if tired? "please stop" else "keep going" end if running? # good if running? tired? ? 'stop' : 'go faster' end
Constants
- MSG
Public Instance Methods
on_if(node)
click to toggle source
# File lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb, line 31 def on_if(node) return unless node.modifier_form? && node.body.if_type? add_offense(node.loc.keyword, message: format(MSG, keyword: node.keyword)) do |corrector| keyword = node.if? ? 'if' : 'unless' corrector.replace(node, <<~RUBY.chop) #{keyword} #{node.condition.source} #{node.if_branch.source} end RUBY end end