Sha256: d0202836f977bd6789c1dea03f13e91047a99073484b7dae32e32ff89059e455

Contents?: true

Size: 821 Bytes

Versions: 28

Compression:

Stored size: 821 Bytes

Contents

require 'tenjin'

module Ramaze
  module View
    module Tenjin
      def self.call(action, string)
        tenjin = View.compile(string){|s|
          template = ::Tenjin::Template.new
          template.convert(s)
          template
        }

        html = tenjin.ramaze_render(action.binding)

        return html, 'text/html'
      end
    end
  end
end

module Tenjin
  class Template
    # This method allows us to use tenjin with a binding, so helper methods are
    # available instead of only instance variables.
    # The big issue with this approach is that the original
    # Tenjin::ContextHelper is not available here. Patches welcome.
    def ramaze_render(binding)
      code = "_buf = #{init_buf_expr}; #{@script}; _buf.to_s"
      _buf = eval(code, binding, @filename || '(tenjin)')
    end
  end
end

Version data entries

28 entries across 28 versions & 4 rubygems

Version Path
ramaze-2023.01.06 lib/ramaze/view/tenjin.rb
Pistos-ramaze-2009.06.12 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.05.08 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.05 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.06.04 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.06.12 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.06 lib/ramaze/view/tenjin.rb
manveru-ramaze-2009.07 lib/ramaze/view/tenjin.rb
rjspotter-ramaze-2009.06.29 lib/ramaze/view/tenjin.rb
rjspotter-ramaze-2009.06.31 lib/ramaze/view/tenjin.rb
ramaze-2012.12.08 lib/ramaze/view/tenjin.rb
ramaze-2012.12.08b lib/ramaze/view/tenjin.rb
ramaze-2011.12.28 lib/ramaze/view/tenjin.rb
ramaze-2011.10.23 lib/ramaze/view/tenjin.rb
ramaze-2011.07.25 lib/ramaze/view/tenjin.rb
ramaze-2011.01.30 lib/ramaze/view/tenjin.rb
ramaze-2011.01 lib/ramaze/view/tenjin.rb
ramaze-2010.06.18 lib/ramaze/view/tenjin.rb
ramaze-2010.04.04 lib/ramaze/view/tenjin.rb
ramaze-2010.04 lib/ramaze/view/tenjin.rb