Class: AngularRailsTemplates::Template

Inherits:
Tilt::Template
  • Object
show all
Includes:
CompactJavaScriptEscape
Defined in:
lib/angular-rails-templates/template.rb

Constant Summary collapse

AngularJsTemplateWrapper =
Tilt::ERBTemplate.new "#{File.dirname __FILE__}/javascript_template.js.erb"
@@compressor =
nil

Constants included from CompactJavaScriptEscape

CompactJavaScriptEscape::JS_ESCAPE_MAP

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CompactJavaScriptEscape

#escape_javascript

Class Method Details

.default_mime_typeObject



9
10
11
# File 'lib/angular-rails-templates/template.rb', line 9

def self.default_mime_type
  'application/javascript'
end

Instance Method Details

#evaluate(scope, locals, &block) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/angular-rails-templates/template.rb', line 20

def evaluate(scope, locals, &block)
  locals[:html] = escape_javascript data.chomp
  locals[:angular_template_name] = logical_template_path(scope)
  locals[:source_file] = "#{scope.pathname}".sub(/^#{Rails.root}\//,'')
  locals[:angular_module] = configuration.module_name

  AngularJsTemplateWrapper.render(scope, locals)
end

#prepareObject

this method is mandatory on Tilt::Template subclasses



14
15
16
17
18
# File 'lib/angular-rails-templates/template.rb', line 14

def prepare
  if configuration.htmlcompressor
    @data = compress data
  end
end