Sha256: cc6c1e965249a7852965ae22ddc92e0ad8376c16cf4f2abaf6568c5e4c7cd501

Contents?: true

Size: 980 Bytes

Versions: 11

Compression:

Stored size: 980 Bytes

Contents

require File.join(File.dirname(__FILE__), "..", "view_template")
require File.join(File.dirname(__FILE__), 'base')
module Mack
  module Rendering # :nodoc:
    module Engine # :nodoc:
      # Allows use of the Builder::XmlMarkup engine to be used with rendering.
      class Builder < Mack::Rendering::Engine::Base
        
        def render(io, binding)
          @_xml = ::Builder::XmlMarkup.new(:target => @_xml_output, :indent => 1)
          view_template.instance_variable_set("@_xml", @_xml)
          eval(io, binding)
        end
        
        def extension
          :builder
        end
        
        # Used to give XmlBuilder templates access to a 'root' xml object.
        module ViewTemplateHelpers
          def xml
            @_xml
          end
        end # ViewTemplateHelpers
        
      end # Builder
    end # Engine
  end # Rendering
end # Mack

Mack::Rendering::ViewTemplate.send(:include, Mack::Rendering::Engine::Builder::ViewTemplateHelpers)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mack-0.5.5.3 lib/rendering/engine/builder.rb
mack-0.5.5.4 lib/rendering/engine/builder.rb
mack-0.6.0 lib/rendering/engine/builder.rb
mack-0.6.0.1 lib/rendering/engine/builder.rb
mack-0.6.1.1 lib/mack/rendering/engine/builder.rb
mack-0.6.1.2 lib/mack/rendering/engine/builder.rb
mack-0.6.1 lib/mack/rendering/engine/builder.rb
mack-0.7.1.1 lib/mack/rendering/engine/builder.rb
mack-0.7.0 lib/mack/rendering/engine/builder.rb
mack-0.7.0.1 lib/mack/rendering/engine/builder.rb
mack-0.7.1 lib/mack/rendering/engine/builder.rb