Class: Less::Rails::LessTransformer

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/less/rails/less_transformer.rb

Constant Summary collapse

TO_CSS_KEYS =
[:compress, :optimization, :silent, :color]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename, &block) ⇒ LessTransformer

Returns a new instance of LessTransformer.



8
9
10
11
# File 'lib/less/rails/less_transformer.rb', line 8

def initialize(filename, &block)
  @filename = filename
  @source   = block.call
end

Class Method Details

.call(input) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/less/rails/less_transformer.rb', line 24

def self.call(input)
  filename = input[:filename]
  source   = input[:data]
  scope  = input[:environment].context_class.new(input)

  result = evaluate(filename, source, scope)
  scope..merge(data: result)
end

.default_mime_typeObject



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

def self.default_mime_type
  'text/css'
end

.evaluate(filename, source, scope) ⇒ Object



17
18
19
20
21
22
# File 'lib/less/rails/less_transformer.rb', line 17

def self.evaluate(filename, source, scope)
  Less.Parser['scope'] = scope
  parser = ::Less::Parser.new config_to_less_parser_options(filename, scope)
  engine = parser.parse(source)
  engine.to_css config_to_css_options(scope)
end

Instance Method Details

#render(scope, locals) ⇒ Object



13
14
15
# File 'lib/less/rails/less_transformer.rb', line 13

def render(scope, locals)
  self.class.evaluate(@filename, @source, scope)
end