Skip to content
instance method

SyntaxSuggest::CleanDocument#join_consecutive!

join_consecutive!

Smushes logically “consecutive” lines

Example
source = <<~'EOM'
  User.
    where(name: 'schneems').
    first
EOM

lines = CleanDocument.new(source: source).join_consecutive!.lines
expect(lines[0].to_s).to eq(source)
expect(lines[1].to_s).to eq("")

The one known case this doesn’t handle is:

Example
Ripper.lex <<~EOM
  a &&
   b ||
   c
EOM

For some reason this introduces on_ignore_newline but with BEG type