Sha256: 342369b3b9fe8f8e841ebed4f53b5f0cc84a962d61f8d593887a3b190da0915d

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

module Mack
  module Rendering # :nodoc:
    module Engine # :nodoc:
      # Allows use of the Builder::XmlMarkup engine to be used with rendering.
      class Rjs < Mack::Rendering::Engine::Base
        
        def render(io, binding)
          if io.is_a?(File)
            io = io.read
          end
          @_jsp_page = Mack::JavaScript::ScriptGenerator.new
          view_template.instance_variable_set("@_jsp_page", @_jsp_page)
          eval(io, binding)
          @_jsp_page.to_s
        end
        
        def extension
          :rjs
        end
        
        module ViewTemplateHelpers
          def page
            @_jsp_page
          end
        end # ViewTemplateHelpers
        
      end # RJS
    end # Engine
  end # Rendering
end # Mack

Mack::Rendering::ViewTemplate.send(:include, Mack::Rendering::Engine::Rjs::ViewTemplateHelpers)
Mack::Rendering::Engine::Registry.instance.register(:action, :rjs)
Mack::Rendering::Engine::Registry.instance.register(:template, :rjs)
Mack::Rendering::Engine::Registry.instance.register(:partial, :rjs)
Mack::Rendering::Engine::Registry.instance.register(:js, :rjs)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mack-javascript-0.8.2 lib/mack-javascript/rendering/engine/rjs.rb