Class: Tilt::LessTemplate

Inherits:
Template show all
Defined in:
lib/tilt/less.rb

Overview

Lessscss template implementation. See: lesscss.org/

Less templates do not support object scopes, locals, or yield.

Instance Attribute Summary

Attributes inherited from Template

#data, #file, #line, #options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Template

#basename, default_mime_type, default_mime_type=, #eval_file, #initialize, metadata, #metadata, #name, #render

Constructor Details

This class inherits a constructor from Tilt::Template

Class Method Details

.engine_initialized?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/tilt/less.rb', line 12

def self.engine_initialized?
  defined? ::Less
end

Instance Method Details

#allows_script?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/tilt/less.rb', line 33

def allows_script?
  false
end

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



29
30
31
# File 'lib/tilt/less.rb', line 29

def evaluate(scope, locals, &block)
  @output ||= @engine.to_css(options)
end

#initialize_engineObject



16
17
18
# File 'lib/tilt/less.rb', line 16

def initialize_engine
  require_template_library 'less'
end

#prepareObject



20
21
22
23
24
25
26
27
# File 'lib/tilt/less.rb', line 20

def prepare
  if ::Less.const_defined? :Engine
    @engine = ::Less::Engine.new(data)
  else
    parser  = ::Less::Parser.new(options.merge :filename => eval_file, :line => line)
    @engine = parser.parse(data)
  end
end