def evaluate(context, locals, &block)
cache_store = SassCacheStore.new(context.environment)
options = {
:filename => eval_file,
:line => line,
:syntax => syntax,
:cache_store => cache_store,
:importer => SassImporter.new(context.pathname.to_s),
:load_paths => context.environment.paths.map { |path| SassImporter.new(path.to_s) },
:sprockets => {
:context => context,
:environment => context.environment
}
}
result = ::Sass::Engine.new(data, options).render
filenames = ([options[:importer].imported_filenames] + options[:load_paths].map(&:imported_filenames)).flatten.uniq
filenames.each { |filename| context.depend_on(filename) }
result
rescue ::Sass::SyntaxError => e
context.__LINE__ = e.sass_backtrace.first[:line]
raise e
end