lib/jquery-tmpl-rails/jquery_template.rb
require 'sprockets' require 'tilt' require 'action_view' require 'action_view/helpers' module JqueryTmplRails class JqueryTemplate < Tilt::Template include ActionView::Helpers::JavaScriptHelper def self.default_mime_type 'application/javascript' end def prepare @prefix = normalize_prefix(Rails.configuration.jquery_templates.prefix) end def evaluate(scope, locals, &block) %{jQuery.template("#{template_name(scope)}", "#{escape_javascript(data)}");} end private def normalize_prefix(prefix) if prefix.respond_to?(:length) && prefix.length > 0 prefix = prefix[1, prefix.length - 1] if prefix.start_with?("/") prefix += "/" unless prefix.end_with?("/") end prefix end def template_name(scope) scope.logical_path.sub(@prefix, "") end end end