class RuboCop::Cop::Style::WhileUntilModifier
Checks for while and until statements that would fit on one line if written as a modifier while/until. The maximum line length is configured in the `Metrics/LineLength` cop.
@example
# bad while x < 10 x += 1 end # good x += 1 while x < 10
@example
# bad until x > 10 x += 1 end # good x += 1 until x > 10
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/style/while_until_modifier.rb, line 41 def autocorrect(node) oneline = "#{node.body.source} #{node.keyword} " \ "#{node.condition.source}" lambda do |corrector| corrector.replace(node.source_range, oneline) end end
on_until(node)
click to toggle source
# File lib/rubocop/cop/style/while_until_modifier.rb, line 37 def on_until(node) check(node) end
on_while(node)
click to toggle source
# File lib/rubocop/cop/style/while_until_modifier.rb, line 33 def on_while(node) check(node) end
Private Instance Methods
check(node)
click to toggle source
# File lib/rubocop/cop/style/while_until_modifier.rb, line 52 def check(node) return unless node.multiline? && single_line_as_modifier?(node) add_offense(node, location: :keyword, message: format(MSG, keyword: node.keyword)) end