diff options
Diffstat (limited to 'actionview/lib/action_view/template/handlers/builder.rb')
-rw-r--r-- | actionview/lib/action_view/template/handlers/builder.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/actionview/lib/action_view/template/handlers/builder.rb b/actionview/lib/action_view/template/handlers/builder.rb new file mode 100644 index 0000000000..61492ce448 --- /dev/null +++ b/actionview/lib/action_view/template/handlers/builder.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module ActionView + module Template::Handlers + class Builder + class_attribute :default_format, default: :xml + + def call(template) + require_engine + "xml = ::Builder::XmlMarkup.new(:indent => 2);" \ + "self.output_buffer = xml.target!;" + + template.source + + ";xml.target!;" + end + + private + def require_engine # :doc: + @required ||= begin + require "builder" + true + end + end + end + end +end |