class Erubi::CaptureBlockEngine::Buffer

def <<(v)

Convert argument to string when concatening
def <<(v)
  concat(v.to_s)
end

def capture(*args)

restore the original data the receiver contained before returning.
given args to the block, return any data captured by the receiver, and
Temporarily clear the receiver before yielding to the block, yield the
def capture(*args)
  prev = dup
  replace("") # 1.8 support!
  yield(*args)
  dup
ensure
  replace(prev)
end

def h(v)

def h(v)
  ::Erubi.h(v)
end

def |(v)

Escape argument using Erubi.h then then concatenate it to the receiver.
def |(v)
  concat(h(v))
end