class SyntaxSuggest::BlockExpand

Diese Klasse ist dafür verantwortlich, einen Codeblock, der sich auf einer weiten Einrückung befindet, zu nehmen und den Block dann iterativ zu vergrößern, so dass er alles innerhalb desselben Einrückungsblocks erfasst.

def dog
  puts "bow"
  puts "wow"
end

block = BlockExpand.new(code_lines: code_lines)

.call(CodeBlock.new(lines: code_lines[1]))

puts block.to_s # => puts “bow”

puts "wow"

Sobald ein Codeblock alles auf einer bestimmten Einrückungsebene erfasst hat, erweitert er sich, um die umliegenden Einrückungen zu erfassen.

block = BlockExpand.new(code_lines: code_lines)

.call(block)

block.to_s # => def dog

  puts "bow"
  puts "wow"
end