Sha256: 824205950b269320502c8cf2cf2b9a53c5a2c320427078e1e4ad5a9cfcb9f1f3
Contents?: true
Size: 586 Bytes
Versions: 21
Compression:
Stored size: 586 Bytes
Contents
require 'tilt' module Sprockets class JstProcessor < Tilt::Template self.default_mime_type = 'application/javascript' def self.default_namespace 'this.JST' end def prepare @namespace = self.class.default_namespace end attr_reader :namespace def evaluate(scope, locals, &block) <<-JST (function() { #{namespace} || (#{namespace} = {}); #{namespace}[#{scope.logical_path.inspect}] = #{indent(data)}; }).call(this); JST end private def indent(string) string.gsub(/$(.)/m, "\\1 ").strip end end end
Version data entries
21 entries across 21 versions & 5 rubygems