class RuboCop::Cop::Style::IfUnlessModifierOfIfUnless

Checks for if and unless statements used as modifers 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

MESSAGE

Public Instance Methods

message(keyword) click to toggle source
# File lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb, line 30
def message(keyword)
  format(MESSAGE, keyword)
end
on_if(node) click to toggle source
# File lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb, line 34
def on_if(node)
  return unless modifier_if?(node)
  _cond, body, _else = if_node_parts(node)
  if body.type == :if
    add_offense(node, :keyword, message(node.loc.keyword.source))
  end
end