Class: Sprockets::Sass::SassTemplate
- Inherits:
-
Tilt::SassTemplate
- Object
- Tilt::SassTemplate
- Sprockets::Sass::SassTemplate
- Defined in:
- lib/sprockets/sass/sass_template.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
A reference to the current Sprockets context.
Class Method Summary collapse
-
.engine_initialized? ⇒ Boolean
Templates are initialized once the functions are added.
Instance Method Summary collapse
-
#evaluate(context, locals, &block) ⇒ Object
See ‘Tilt::Template#evaluate`.
-
#initialize_engine ⇒ Object
Add the Sass functions if they haven’t already been added.
-
#prepare ⇒ Object
See ‘Tilt::Template#prepare`.
-
#syntax ⇒ Object
Define the expected syntax for the template.
Instance Attribute Details
#context ⇒ Object (readonly)
A reference to the current Sprockets context
9 10 11 |
# File 'lib/sprockets/sass/sass_template.rb', line 9 def context @context end |
Class Method Details
.engine_initialized? ⇒ Boolean
Templates are initialized once the functions are added.
12 13 14 |
# File 'lib/sprockets/sass/sass_template.rb', line 12 def self.engine_initialized? super && (!Sass.add_sass_functions || defined?(Functions)) end |
Instance Method Details
#evaluate(context, locals, &block) ⇒ Object
See ‘Tilt::Template#evaluate`.
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/sprockets/sass/sass_template.rb', line 37 def evaluate(context, locals, &block) @output ||= begin @context = context ::Sass::Engine.new(data, ).render rescue ::Sass::SyntaxError => e # Annotates exception message with parse line number context.__LINE__ = e.sass_backtrace.first[:line] raise e end end |
#initialize_engine ⇒ Object
Add the Sass functions if they haven’t already been added.
17 18 19 20 21 22 23 |
# File 'lib/sprockets/sass/sass_template.rb', line 17 def initialize_engine super if Sass.add_sass_functions require 'sprockets/sass/functions' end end |
#prepare ⇒ Object
See ‘Tilt::Template#prepare`.
31 32 33 34 |
# File 'lib/sprockets/sass/sass_template.rb', line 31 def prepare @context = nil @output = nil end |
#syntax ⇒ Object
Define the expected syntax for the template
26 27 28 |
# File 'lib/sprockets/sass/sass_template.rb', line 26 def syntax :sass end |