Class: Sprockets::JstProcessor
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/sprockets/jst_processor.rb |
Overview
Public: JST transformer.
Exports server side compiled templates to an object.
Name your template “users/show.ejs”, “users/new.eco”, etc.
To accept the default options
environment.register_transformer
'application/javascript+function',
'application/javascript', JstProcessor
Change the default namespace.
environment.register_transformer
'application/javascript+function',
'application/javascript', JstProcessor.new(namespace: 'App.templates')
Class Method Summary
- .call(input)
- .default_namespace
-
.instance
Public: Return singleton instance with default options.
- .new(namespace: self.class.default_namespace) ⇒ JstProcessor constructor
Instance Method Summary
Constructor Details
.new(namespace: self.class.default_namespace) ⇒ JstProcessor
# File 'lib/sprockets/jst_processor.rb', line 37
def initialize(namespace: self.class.default_namespace) @namespace = namespace end
Class Method Details
.call(input)
[ GitHub ]# File 'lib/sprockets/jst_processor.rb', line 33
def self.call(input) instance.call(input) end
.default_namespace
[ GitHub ]# File 'lib/sprockets/jst_processor.rb', line 22
def self.default_namespace 'this.JST' end
.instance
Public: Return singleton instance with default options.
Returns JstProcessor object.
# File 'lib/sprockets/jst_processor.rb', line 29
def self.instance @instance ||= new end
Instance Method Details
#call(input)
[ GitHub ]# File 'lib/sprockets/jst_processor.rb', line 41
def call(input) data = input[:data].gsub(/$(.)/m, "\\1 ").strip key = input[:name] <<-JST (function() { #{@namespace} || (#{@namespace} = {}); #{@namespace}[#{key.inspect}] = #{data}; }).call(this); JST end