class Bundler::Thor::Actions::CapturableERB

Thus CapturableERB fixes ERB to use String buffer.
Bundler::Thor::Actions#capture depends on what kind of buffer is used in ERB.

def set_eoutvar(compiler, eoutvar = "_erbout")

def set_eoutvar(compiler, eoutvar = "_erbout")
  compiler.put_cmd = "#{eoutvar}.concat"
  compiler.insert_cmd = "#{eoutvar}.concat"
  compiler.pre_cmd = ["#{eoutvar} = ''.dup"]
  compiler.post_cmd = [eoutvar]
end