Module: Compass::ImportOnce

Defined in:
lib/compass/import-once.rb,
lib/compass/import-once/engine.rb,
lib/compass/import-once/version.rb,
lib/compass/import-once/importer.rb

Overview

although this is part of the compass suite of gems, it doesn't depend on compass, so any sass-based project can use to to get import-once behavior for all of their importers.

Defined Under Namespace

Modules: Engine, Importer

Constant Summary collapse

VERSION =
File.read(File.join(File.dirname(__FILE__), "..", "..", "..", "VERSION")).strip

Class Method Summary collapse

Class Method Details

.activate!Object


23
24
25
# File 'lib/compass/import-once.rb', line 23

def activate!
  require 'compass/import-once/activate'
end

.import_trackerObject

A map of css filenames to a set of engine cache keys that uniquely identify what has been imported. The lifecycle of each key is handled by code wrapped around Sass's render, to_css and render_with_sourcemap methods on the Sass::Engine.

Ideally, Sass would provide a place in it's public API to put information that persists for only the duration of a single compile and would be accessible for all sass engines and sass functions written in ruby.


19
20
21
# File 'lib/compass/import-once.rb', line 19

def import_tracker
  Thread.current[:import_once_tracker] ||= {}
end