aboutsummaryrefslogblamecommitdiffstats
path: root/actionpack/lib/action_view/template_handlers/builder.rb
blob: 0f49d6ab310a5ae9d9fe64fd62f03100b9440ddd (plain) (tree)
1
2
3
4
5
6
7
8
9




                                   



                          









                                                                                                                       
require 'builder'

module ActionView
  module TemplateHandlers
    class Builder < TemplateHandler
      def self.line_offset
        2
      end

      def compile(template)
        content_type_handler = (@view.send!(:controller).respond_to?(:response) ? "controller.response" : "controller")
        "#{content_type_handler}.content_type ||= Mime::XML\n" +
        "xml = Builder::XmlMarkup.new(:indent => 2)\n" +
        template +
        "\nxml.target!\n"
      end
    end
  end
end