class RubbyCop::Cop::Style::MultilineIfThen

Checks for uses of the `then` keyword in multi-line if statements.

@example This is considered bad practice:

if cond then
end

@example If statements can contain `then` on the same line:

if cond then a
elsif cond then b
end

Constants

MSG
NON_MODIFIER_THEN

Public Instance Methods

on_normal_if_unless(node) click to toggle source
# File lib/rubbycop/cop/style/multiline_if_then.rb, line 25
def on_normal_if_unless(node)
  return unless non_modifier_then?(node)

  add_offense(node, :begin, format(MSG, node.keyword))
end

Private Instance Methods

autocorrect(node) click to toggle source
# File lib/rubbycop/cop/style/multiline_if_then.rb, line 37
def autocorrect(node)
  lambda do |corrector|
    corrector.remove(
      range_with_surrounding_space(node.loc.begin, :left)
    )
  end
end
non_modifier_then?(node) click to toggle source
# File lib/rubbycop/cop/style/multiline_if_then.rb, line 33
def non_modifier_then?(node)
  node.loc.begin && node.loc.begin.source_line =~ NON_MODIFIER_THEN
end