class Tilt::SassTemplate

Sass template implementation. See: haml.hamptoncatlin.com/

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

Constants

Engine

Public Instance Methods

allows_script?() click to toggle source
# File lib/tilt/sass.rb, line 43
def allows_script?
  false
end
evaluate(scope, locals, &block) click to toggle source
# File lib/tilt/sass.rb, line 35
def evaluate(scope, locals, &block)
  @output ||= if @engine.nil?
                ::Sass.compile_string(data, **sass_embedded_options).css
              else
                @engine.render
              end
end
prepare() click to toggle source
# File lib/tilt/sass.rb, line 29
def prepare
  @engine = unless Engine.nil?
              Engine.new(data, sass_options)
            end
end

Private Instance Methods

eval_file_url() click to toggle source
# File lib/tilt/sass.rb, line 48
def eval_file_url
  path = File.absolute_path(eval_file)
  path = '/' + path unless path.start_with?('/')
  ::URI::File.build([nil, ::URI::DEFAULT_PARSER.escape(path)]).to_s
end
sass_embedded_options() click to toggle source
# File lib/tilt/sass.rb, line 54
def sass_embedded_options
  options.merge(:url => eval_file_url, :syntax => :indented)
end
sass_options() click to toggle source
# File lib/tilt/sass.rb, line 58
def sass_options
  options.merge(:filename => eval_file, :line => line, :syntax => :sass)
end