module Sinatra::Templates

def render_builder(template, data, options, locals, &block)

def render_builder(template, data, options, locals, &block)
  options = { :indent => 2 }.merge(options)
  filename = options.delete(:filename) || '<BUILDER>'
  line = options.delete(:line) || 1
  xml = ::Builder::XmlMarkup.new(options)
  if data.respond_to?(:to_str)
    eval data.to_str, binding, filename, line
  elsif data.kind_of?(Proc)
    data.call(xml)
  end
  xml.target!
end