Sha256: 7537ba114a650270b76123ba986d72d3562b24790295c9f8da0b33aa4eff4cf2

Contents?: true

Size: 1.06 KB

Versions: 14

Compression:

Stored size: 1.06 KB

Contents

require 'fortitude/rails/renderer'

module Fortitude
  module Rails
    class TemplateHandler
      def call(template, &block)
        widget_class_name = "views/#{template.identifier =~ %r(views/([^.]*)(\..*)?\.rb) && $1}".camelize
        is_partial = !! (File.basename(template.identifier) =~ /^_/)

        <<-SRC
        Fortitude::Rails::Renderer.render(#{widget_class_name}, self, local_assigns, #{is_partial.inspect}) { |*args| yield *args }
        SRC
      end

      def supports_streaming?
        true
      end
    end
  end
end

::ActionView::Template.class_eval do
  class << self
    def _fortitude_register_template_handler!
      register_template_handler_without_fortitude(:rb, Fortitude::Rails::TemplateHandler.new)
    end

    def register_template_handler_with_fortitude(*args, &block)
      register_template_handler_without_fortitude(*args, &block)
      ActionView::Template._fortitude_register_template_handler!
    end

    alias_method_chain :register_template_handler, :fortitude
  end
end

ActionView::Template._fortitude_register_template_handler!

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
fortitude-0.9.4-java lib/fortitude/rails/template_handler.rb
fortitude-0.9.4 lib/fortitude/rails/template_handler.rb
fortitude-0.9.3-java lib/fortitude/rails/template_handler.rb
fortitude-0.9.3 lib/fortitude/rails/template_handler.rb
fortitude-0.9.2-java lib/fortitude/rails/template_handler.rb
fortitude-0.9.2 lib/fortitude/rails/template_handler.rb
fortitude-0.9.1-java lib/fortitude/rails/template_handler.rb
fortitude-0.9.1 lib/fortitude/rails/template_handler.rb
fortitude-0.9.0-java lib/fortitude/rails/template_handler.rb
fortitude-0.9.0 lib/fortitude/rails/template_handler.rb
fortitude-0.0.10-java lib/fortitude/rails/template_handler.rb
fortitude-0.0.10 lib/fortitude/rails/template_handler.rb
fortitude-0.0.9-java lib/fortitude/rails/template_handler.rb
fortitude-0.0.9 lib/fortitude/rails/template_handler.rb