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

Version Path
sprockets-2.12.5 lib/sprockets/jst_processor.rb
arcabouco-0.2.13 vendor/bundle/gems/sprockets-2.12.4/lib/sprockets/jst_processor.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/sprockets-2.12.4/lib/sprockets/jst_processor.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/sprockets-2.12.3/lib/sprockets/jst_processor.rb
sprockets-2.12.4 lib/sprockets/jst_processor.rb
sprockets-2.12.3 lib/sprockets/jst_processor.rb
sprockets-2.11.3 lib/sprockets/jst_processor.rb
sprockets-2.10.2 lib/sprockets/jst_processor.rb
sprockets-2.9.4 lib/sprockets/jst_processor.rb
sprockets-2.8.3 lib/sprockets/jst_processor.rb
sprockets-2.12.2 lib/sprockets/jst_processor.rb
sprockets-2.12.1 lib/sprockets/jst_processor.rb
sprockets-2.12.0 lib/sprockets/jst_processor.rb
sprockets-2.11.0 lib/sprockets/jst_processor.rb
sprockets-2.10.1 lib/sprockets/jst_processor.rb
challah-1.0.0 vendor/bundle/gems/sprockets-2.10.0/lib/sprockets/jst_processor.rb
sprockets-2.10.0 lib/sprockets/jst_processor.rb
sprockets-2.9.3 lib/sprockets/jst_processor.rb
sprockets-2.9.2 lib/sprockets/jst_processor.rb
sprockets-2.9.0 lib/sprockets/jst_processor.rb