class SyntaxSuggest::BlockExpand

这个类的作用是获取一个位于较远缩进处的代码块,然后迭代地增加该代码块的大小,使其捕获同一缩进块内的所有内容。

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"

一旦代码块捕获了给定缩进级别的所有内容,它将扩展以捕获周围的缩进。

block = BlockExpand.new(code_lines: code_lines)

.call(block)

block.to_s # => def dog

  puts "bow"
  puts "wow"
end