class RuboCop::Cop::Style::EachForSimpleLoop

10.times { }
@good
(0..10).each { }
@bad
@example
This check only applies if the block takes no parameters.
‘Integer#times`.
using a Range literal and `#each`. This can be done more readably using
This cop checks for loops which iterate a constant number of times,

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    min, max = bad_each_range(node)
    corrector.replace(node.children.first.source_range,
                      "#{max - min}.times")
  end
end

def on_block(node)

def on_block(node)
  if bad_each_range(node)
    send_node, = *node
    range = send_node.receiver.source_range.join(send_node.loc.selector)
    add_offense(node, range, 'Use `Integer#times` for a simple loop ' \
                             'which iterates a fixed number of times.')
  end
end