Sha256: a115a58cae43ec42f18006fbb7f84a16611b1467b1a2f534dae2d88d08251588

Contents?: true

Size: 470 Bytes

Versions: 6

Compression:

Stored size: 470 Bytes

Contents

require 'tilt'
require 'slim'

module Odex
  module Templates
    module Helpers
      def render template, locals = {}, options = {}, &block
        template_cache.fetch(template) do
          Slim::Template.new(template, options)
        end.render(self, locals, &block)
      end

      def template_cache
        Thread.current[:template_cache] ||= Tilt::Cache.new
      end
    end

    def self.module_is_registered app
      app.helpers Helpers
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
odex-0.0.6 lib/odex/modules/templates.rb
odex-0.0.5 lib/odex/modules/templates.rb
odex-0.0.4 lib/odex/modules/templates.rb
odex-0.0.3 lib/odex/modules/templates.rb
odex-0.0.2 lib/odex/modules/templates.rb
odex-0.0.1 lib/odex/modules/templates.rb