sass-site/source/documentation/Sass/Engine.html
2018-10-22 14:13:05 -07:00

1742 lines
60 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Class: Sass::Engine
&mdash; Documentation by YARD 0.9.12
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="../../assets/css/docs.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
hasFrames = window.top.frames.main ? true : false;
relpath = '../';
framesUrl = "../frames.html#!Sass/Engine.html";
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div id="header">
<div id="menu">
<a href="../_index.html">Index (E)</a> &raquo;
<span class='title'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span>
&raquo;
<span class="title">Engine</span>
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../class_list.html">
Class List
</a>
<a class="full_list_link" id="method_list_link"
href="../method_list.html">
Method List
</a>
<a class="full_list_link" id="file_list_link"
href="../file_list.html">
File List
</a>
</div>
<div class="clear"></div>
</div>
<iframe id="search_frame"></iframe>
<div id="content"><h1>Class: Sass::Engine
</h1>
<dl class="box">
<dt class="r1">Inherits:</dt>
<dd class="r1">
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Sass::Engine</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
<dt class="r2 last">Defined in:</dt>
<dd class="r2 last">.ruby-sass/lib/sass/engine.rb</dd>
</dl>
<div class="clear"></div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This class handles the parsing and compilation of the Sass template.
Example usage:</p>
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_template'>template</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>stylesheets/sassy.sass</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_sass_engine'>sass_engine</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'>Engine</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Sass::Engine#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_template'>template</span><span class='rparen'>)</span>
<span class='id identifier rubyid_output'>output</span> <span class='op'>=</span> <span class='id identifier rubyid_sass_engine'>sass_engine</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span>
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_output'>output</span>
</code></pre>
</div>
</div>
<div class="tags">
</div><h2>Defined Under Namespace</h2>
<p class="children">
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Engine/Line.html" title="Sass::Engine::Line (class)">Line</a></span>
</p>
<h2>Constant Summary</h2>
<dl class="constants">
<dt id="PROPERTY_CHAR-constant" class="">PROPERTY_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character that begins a CSS property.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?:</span></pre></dd>
<dt id="COMMENT_CHAR-constant" class="">COMMENT_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character that designates the beginning of a comment, either Sass or
CSS.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?/</span></pre></dd>
<dt id="SASS_COMMENT_CHAR-constant" class="">SASS_COMMENT_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character that follows the general COMMENT_CHAR and designates a Sass
comment, which is not output as a CSS comment.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?/</span></pre></dd>
<dt id="SASS_LOUD_COMMENT_CHAR-constant" class="">SASS_LOUD_COMMENT_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character that indicates that a comment allows interpolation and should
be preserved even in `:compressed` mode.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?!</span></pre></dd>
<dt id="CSS_COMMENT_CHAR-constant" class="">CSS_COMMENT_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character that follows the general COMMENT_CHAR and designates a CSS
comment, which is embedded in the CSS document.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?*</span></pre></dd>
<dt id="DIRECTIVE_CHAR-constant" class="">DIRECTIVE_CHAR =
<div class="docstring">
<div class="discussion">
<p>The character used to denote a compiler directive.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?@</span></pre></dd>
<dt id="ESCAPE_CHAR-constant" class="">ESCAPE_CHAR =
<div class="docstring">
<div class="discussion">
<p>Designates a non-parsed rule.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?\\</span></pre></dd>
<dt id="MIXIN_DEFINITION_CHAR-constant" class="">MIXIN_DEFINITION_CHAR =
<div class="docstring">
<div class="discussion">
<p>Designates block as mixin definition rather than CSS rules to output</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?=</span></pre></dd>
<dt id="MIXIN_INCLUDE_CHAR-constant" class="">MIXIN_INCLUDE_CHAR =
<div class="docstring">
<div class="discussion">
<p>Includes named mixin declared using MIXIN_DEFINITION_CHAR</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='CHAR'>?+</span></pre></dd>
<dt id="PROPERTY_OLD-constant" class="">PROPERTY_OLD =
<div class="docstring">
<div class="discussion">
<p>The regex that matches and extracts data from properties of the form `:name
prop`.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^:([^\s=:&quot;]+)\s*(?:\s+|$)(.*)</span><span class='regexp_end'>/</span></span></pre></dd>
<dt id="DEFAULT_OPTIONS-constant" class="">DEFAULT_OPTIONS =
<div class="docstring">
<div class="discussion">
<p>The default options for Sass::Engine.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='lbrace'>{</span>
<span class='symbol'>:style</span> <span class='op'>=&gt;</span> <span class='symbol'>:nested</span><span class='comma'>,</span>
<span class='symbol'>:load_paths</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='symbol'>:cache</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='comma'>,</span>
<span class='symbol'>:cache_location</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>./.sass-cache</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='symbol'>:syntax</span> <span class='op'>=&gt;</span> <span class='symbol'>:sass</span><span class='comma'>,</span>
<span class='symbol'>:filesystem_importer</span> <span class='op'>=&gt;</span> <span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers.html" title="Sass::Importers (module)">Importers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers/Filesystem.html" title="Sass::Importers::Filesystem (class)">Filesystem</a></span></span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
<dt id="old_property_deprecation-classvariable" class="">@@old_property_deprecation =
</dt>
<dd><pre class="code"><span class='const'><span class='object_link'><a href="Deprecation.html" title="Sass::Deprecation (class)">Deprecation</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Deprecation.html#initialize-instance_method" title="Sass::Deprecation#initialize (method)">new</a></span></span></pre></dd>
</dl>
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#options-instance_method" title="#options (instance method)">#<strong>options</strong> &#x21d2; {Symbol =&gt; Object} </a>
</span>
<span class="note title readonly">readonly</span>
<span class="summary_desc"><div class='inline'>
<p>The options for the Sass engine.</p>
</div></span>
</li>
</ul>
<h2>
Class Method Summary
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#for_file-class_method" title="for_file (class method)">.<strong>for_file</strong>(filename, options) &#x21d2; Sass::Engine </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the <span class='object_link'><a href="" title="Sass::Engine (class)">Engine</a></span> for the given file.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#normalize_options-class_method" title="normalize_options (class method)">.<strong>normalize_options</strong>(options) &#x21d2; {Symbol =&gt; Object} </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Converts a Sass options hash into a standard form, filling in default
values and resolving aliases.</p>
</div></span>
</li>
</ul>
<h2>
Instance Method Summary
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#_dependencies-instance_method" title="#_dependencies (instance method)">#<strong>_dependencies</strong>(seen, engines) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Helper for <span class='object_link'><a href="#dependencies-instance_method" title="Sass::Engine#dependencies (method)">#dependencies</a></span>.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#dependencies-instance_method" title="#dependencies (instance method)">#<strong>dependencies</strong> &#x21d2; [Sass::Engine] </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Gets a set of all the documents that are (transitive) dependencies of this
document, not including the document itself.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(template, options = {}) &#x21d2; Engine </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>Creates a new Engine.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#render-instance_method" title="#render (instance method)">#<strong>render</strong> &#x21d2; String </a>
(also: #to_css)
</span>
<span class="summary_desc"><div class='inline'>
<p>Render the template to CSS.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#render_with_sourcemap-instance_method" title="#render_with_sourcemap (instance method)">#<strong>render_with_sourcemap</strong>(sourcemap_uri) &#x21d2; (String, Sass::Source::Map) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Render the template to CSS and return the source map.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#source_encoding-instance_method" title="#source_encoding (instance method)">#<strong>source_encoding</strong> &#x21d2; Encoding<sup>?</sup> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the original encoding of the document.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#to_tree-instance_method" title="#to_tree (instance method)">#<strong>to_tree</strong> &#x21d2; Sass::Tree::Node </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Parses the document into its parse tree.</p>
</div></span>
</li>
</ul>
<div id="constructor_details" class="method_details_list">
<h2>Constructor Details</h2>
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
#<strong>initialize</strong>(template, options = {}) &#x21d2; <tt><span class='object_link'><a href="" title="Sass::Engine (class)">Engine</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates a new Engine. Note that Engine should only be used directly when
compiling in-memory Sass code. If you&#39;re compiling a single Sass file
from the filesystem, use <span class='object_link'><a href="#for_file-class_method" title="Sass::Engine.for_file (method)">for_file</a></span>. If you&#39;re compiling
multiple files from the filesystem, use <span class='object_link'><a href="Plugin.html" title="Sass::Plugin (module)">Plugin</a></span>.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>template</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The Sass template. This template can be encoded using any encoding that can
be converted to Unicode. If the template contains an `@charset`
declaration, that overrides the Ruby encoding (see
<a href="../file.SASS_REFERENCE.html#Encodings" title="the encoding documentation">the encoding documentation</a>)</p>
</div>
</li>
<li>
<span class='name'>options</span>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
<em class="default">(defaults to: <tt>{}</tt>)</em>
&mdash;
<div class='inline'>
<p>An options hash. See <a href="../file.SASS_REFERENCE.html#Options" title="the Sass options documentation">the Sass options documentation</a>.</p>
</div>
</li>
</ul>
<p class="tag_title">See Also:</p>
<ul class="see">
<li>Sass::Engine.{Sass{Sass::Engine{Sass::Engine.for_file}</li>
<li>Sass::Engine.{Sass{Sass::Plugin}</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
274
275
276
277
278
279
280</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 274</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_template'>template</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='ivar'>@options</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_normalize_options'>normalize_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
<span class='ivar'>@template</span> <span class='op'>=</span> <span class='id identifier rubyid_template'>template</span>
<span class='ivar'>@checked_encoding</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='ivar'>@filename</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='ivar'>@line</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="constructor_details" class="method_details_list">
<h2>Constructor Details</h2>
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
#<strong>initialize</strong>(template, options = {}) &#x21d2; <tt><span class='object_link'><a href="" title="Sass::Engine (class)">Engine</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates a new Engine. Note that Engine should only be used directly when
compiling in-memory Sass code. If you&#39;re compiling a single Sass file
from the filesystem, use <span class='object_link'><a href="#for_file-class_method" title="Sass::Engine.for_file (method)">for_file</a></span>. If you&#39;re compiling
multiple files from the filesystem, use <span class='object_link'><a href="Plugin.html" title="Sass::Plugin (module)">Plugin</a></span>.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>template</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The Sass template. This template can be encoded using any encoding that can
be converted to Unicode. If the template contains an `@charset`
declaration, that overrides the Ruby encoding (see
<a href="../file.SASS_REFERENCE.html#Encodings" title="the encoding documentation">the encoding documentation</a>)</p>
</div>
</li>
<li>
<span class='name'>options</span>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
<em class="default">(defaults to: <tt>{}</tt>)</em>
&mdash;
<div class='inline'>
<p>An options hash. See <a href="../file.SASS_REFERENCE.html#Options" title="the Sass options documentation">the Sass options documentation</a>.</p>
</div>
</li>
</ul>
<p class="tag_title">See Also:</p>
<ul class="see">
<li>Sass::Engine.{Sass{Sass::Engine{Sass::Engine.for_file}</li>
<li>Sass::Engine.{Sass{Sass::Plugin}</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
274
275
276
277
278
279
280</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 274</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_template'>template</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='ivar'>@options</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_normalize_options'>normalize_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
<span class='ivar'>@template</span> <span class='op'>=</span> <span class='id identifier rubyid_template'>template</span>
<span class='ivar'>@checked_encoding</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='ivar'>@filename</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='ivar'>@line</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id=""></span>
<div class="method_details first">
<h3 class="signature first" id="options-instance_method">
#<strong>options</strong> &#x21d2; <tt>{Symbol =&gt; Object}</tt> <span class="extras">(readonly)</span>
</h3><div class="docstring">
<div class="discussion">
<p>The options for the Sass engine. See <a href="../file.SASS_REFERENCE.html#Options" title="the Sass options documentation">the Sass options documentation</a>.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
255
256
257</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 255</span>
<span class='kw'>def</span> <span class='id identifier rubyid_options'>options</span>
<span class='ivar'>@options</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="class_method_details" class="method_details_list">
<h2>Class Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="for_file-class_method">
.<strong>for_file</strong>(filename, options) &#x21d2; <tt><span class='object_link'><a href="" title="Sass::Engine (class)">Sass::Engine</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the <span class='object_link'><a href="" title="Sass::Engine (class)">Sass::Engine</a></span> for the given file. This is preferable to
Sass::Engine.new when reading from a file because it properly sets up the
Engine&#39;s metadata, enables parse-tree caching, and infers the syntax
from the filename.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>filename</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The path to the Sass or SCSS file</p>
</div>
</li>
<li>
<span class='name'>options</span>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
&mdash;
<div class='inline'>
<p>The options hash; See <a href="../file.SASS_REFERENCE.html#Options" title="the Sass options documentation">the Sass options documentation</a>.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="" title="Sass::Engine (class)">Sass::Engine</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>The Engine for the given Sass or SCSS file.</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SyntaxError.html" title="Sass::SyntaxError (class)">Sass::SyntaxError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>if there&#39;s an error in the document.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
237
238
239
240
241
242
243
244
245
246
247
248
249</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 237</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_for_file'>for_file</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
<span class='id identifier rubyid_had_syntax'>had_syntax</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:syntax</span><span class='rbracket'>]</span>
<span class='kw'>if</span> <span class='id identifier rubyid_had_syntax'>had_syntax</span>
<span class='comment'># Use what was explicitly specified
</span> <span class='kw'>elsif</span> <span class='id identifier rubyid_filename'>filename</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\.scss$</span><span class='regexp_end'>/</span></span>
<span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='symbol'>:syntax</span> <span class='op'>=&gt;</span> <span class='symbol'>:scss</span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_filename'>filename</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\.sass$</span><span class='regexp_end'>/</span></span>
<span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='symbol'>:syntax</span> <span class='op'>=&gt;</span> <span class='symbol'>:sass</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Sass::Engine (class)">Engine</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Sass::Engine#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="normalize_options-class_method">
.<strong>normalize_options</strong>(options) &#x21d2; <tt>{Symbol =&gt; Object}</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Converts a Sass options hash into a standard form, filling in default
values and resolving aliases.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>options</span>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
&mdash;
<div class='inline'>
<p>The options hash; see <a href="../file.SASS_REFERENCE.html#Options" title="the Sass options documentation">the Sass options documentation</a></p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>{Symbol =&gt; Object}</tt>)</span>
&mdash;
<div class='inline'>
<p>The normalized options hash.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 183</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_options'>normalize_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#DEFAULT_OPTIONS-constant" title="Sass::Engine::DEFAULT_OPTIONS (constant)">DEFAULT_OPTIONS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid__k'>_k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='comment'># If the `:filename` option is passed in without an importer,
</span> <span class='comment'># assume it&#39;s using the default filesystem importer.
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:importer</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:filesystem_importer</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span>
<span class='comment'># Tracks the original filename of the top-level Sass file
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_filename</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:cache_store</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores.html" title="Sass::CacheStores (module)">CacheStores</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores/Chain.html" title="Sass::CacheStores::Chain (class)">Chain</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="CacheStores/Chain.html#initialize-instance_method" title="Sass::CacheStores::Chain#initialize (method)">new</a></span></span><span class='lparen'>(</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores.html" title="Sass::CacheStores (module)">CacheStores</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores/Memory.html" title="Sass::CacheStores::Memory (class)">Memory</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="CacheStores/Memory.html#initialize-instance_method" title="Sass::CacheStores::Memory#initialize (method)">new</a></span></span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores.html" title="Sass::CacheStores (module)">CacheStores</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CacheStores/Filesystem.html" title="Sass::CacheStores::Filesystem (class)">Filesystem</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="CacheStores/Filesystem.html#initialize-instance_method" title="Sass::CacheStores::Filesystem#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:cache_location</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='comment'># Support both, because the docs said one and the other actually worked
</span> <span class='comment'># for quite a long time.
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:line_comments</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:line_numbers</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:load_paths</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:load_paths</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='period'>.</span><span class='id identifier rubyid_load_paths'><span class='object_link'><a href="../Sass.html#load_paths-class_method" title="Sass.load_paths (method)">load_paths</a></span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
<span class='kw'>next</span> <span class='id identifier rubyid_p'>p</span> <span class='kw'>unless</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Pathname</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Pathname</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:filesystem_importer</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='comment'># Remove any deprecated importers if the location is imported explicitly
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:load_paths</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_reject!'>reject!</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_importer'>importer</span><span class='op'>|</span>
<span class='id identifier rubyid_importer'>importer</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers.html" title="Sass::Importers (module)">Importers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers/DeprecatedPath.html" title="Sass::Importers::DeprecatedPath (class)">DeprecatedPath</a></span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:load_paths</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_other_importer'>other_importer</span><span class='op'>|</span>
<span class='id identifier rubyid_other_importer'>other_importer</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers.html" title="Sass::Importers (module)">Importers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Importers/Filesystem.html" title="Sass::Importers::Filesystem (class)">Filesystem</a></span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span>
<span class='id identifier rubyid_other_importer'>other_importer</span> <span class='op'>!=</span> <span class='id identifier rubyid_importer'>importer</span> <span class='op'>&amp;&amp;</span>
<span class='id identifier rubyid_other_importer'>other_importer</span><span class='period'>.</span><span class='id identifier rubyid_root'>root</span> <span class='op'>==</span> <span class='id identifier rubyid_importer'>importer</span><span class='period'>.</span><span class='id identifier rubyid_root'>root</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='comment'># Backwards compatibility
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:property_syntax</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:attribute_syntax</span><span class='rbracket'>]</span>
<span class='kw'>case</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:property_syntax</span><span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='symbol'>:alternate</span><span class='semicolon'>;</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:property_syntax</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:new</span>
<span class='kw'>when</span> <span class='symbol'>:normal</span><span class='semicolon'>;</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:property_syntax</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:old</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:sourcemap</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:auto</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:sourcemap</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='kw'>true</span>
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:sourcemap</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:none</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:sourcemap</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='kw'>false</span>
<span class='id identifier rubyid_options'>options</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="_dependencies-instance_method">
#<strong>_dependencies</strong>(seen, engines) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Helper for <span class='object_link'><a href="#dependencies-instance_method" title="Sass::Engine#dependencies (method)">#dependencies</a></span>.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
349
350
351
352
353
354
355
356
357
358</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 349</span>
<span class='kw'>def</span> <span class='id identifier rubyid__dependencies'>_dependencies</span><span class='lparen'>(</span><span class='id identifier rubyid_seen'>seen</span><span class='comma'>,</span> <span class='id identifier rubyid_engines'>engines</span><span class='rparen'>)</span>
<span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='ivar'>@options</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='symbol'>:importer</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_seen'>seen</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
<span class='id identifier rubyid_seen'>seen</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_key'>key</span>
<span class='id identifier rubyid_engines'>engines</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span>
<span class='id identifier rubyid_to_tree'>to_tree</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Tree.html" title="Sass::Tree (module)">Tree</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Tree/ImportNode.html" title="Sass::Tree::ImportNode (class)">ImportNode</a></span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_css_import?'>css_import?</span>
<span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_imported_file'>imported_file</span><span class='period'>.</span><span class='id identifier rubyid__dependencies'>_dependencies</span><span class='lparen'>(</span><span class='id identifier rubyid_seen'>seen</span><span class='comma'>,</span> <span class='id identifier rubyid_engines'>engines</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="dependencies-instance_method">
#<strong>dependencies</strong> &#x21d2; <tt>[<span class='object_link'><a href="" title="Sass::Engine (class)">Sass::Engine</a></span>]</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Gets a set of all the documents that are (transitive) dependencies of this
document, not including the document itself.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>[<span class='object_link'><a href="" title="Sass::Engine (class)">Sass::Engine</a></span>]</tt>)</span>
&mdash;
<div class='inline'>
<p>The dependency documents.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
341
342
343
344</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 341</span>
<span class='kw'>def</span> <span class='id identifier rubyid_dependencies'>dependencies</span>
<span class='id identifier rubyid__dependencies'>_dependencies</span><span class='lparen'>(</span><span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='comma'>,</span> <span class='id identifier rubyid_engines'>engines</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Util.html" title="Sass::Util (module)">Util</a></span></span><span class='period'>.</span><span class='id identifier rubyid_array_minus'><span class='object_link'><a href="Util.html#array_minus-instance_method" title="Sass::Util#array_minus (method)">array_minus</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_engines'>engines</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>self</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="render-instance_method">
#<strong>render</strong> &#x21d2; <tt>String</tt>
<span class="aliases">Also known as:
<span class="names"><span id='to_css-instance_method'>to_css</span></span>
</span>
</h3><div class="docstring">
<div class="discussion">
<p>Render the template to CSS.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The CSS</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SyntaxError.html" title="Sass::SyntaxError (class)">Sass::SyntaxError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>if there&#39;s an error in the document</p>
</div>
</li>
<li>
<span class='type'>(<tt>Encoding::UndefinedConversionError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the source encoding cannot be converted to UTF-8</p>
</div>
</li>
<li>
<span class='type'>(<tt>ArgumentError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the document uses an unknown encoding with `@charset`</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
289
290
291
292</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 289</span>
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span>
<span class='kw'>return</span> <span class='id identifier rubyid__to_tree'>_to_tree</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span> <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='symbol'>:quiet</span><span class='rbracket'>]</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Util.html" title="Sass::Util (module)">Util</a></span></span><span class='period'>.</span><span class='id identifier rubyid_silence_sass_warnings'><span class='object_link'><a href="Util.html#silence_sass_warnings-instance_method" title="Sass::Util#silence_sass_warnings (method)">silence_sass_warnings</a></span></span> <span class='lbrace'>{</span><span class='id identifier rubyid__to_tree'>_to_tree</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="render_with_sourcemap-instance_method">
#<strong>render_with_sourcemap</strong>(sourcemap_uri) &#x21d2; <tt>(String, <span class='object_link'><a href="Source/Map.html" title="Sass::Source::Map (class)">Sass::Source::Map</a></span>)</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Render the template to CSS and return the source map.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>sourcemap_uri</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The sourcemap URI to use in the `@sourceMappingURL` comment. If this is
relative, it should be relative to the location of the CSS file.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>(String, <span class='object_link'><a href="Source/Map.html" title="Sass::Source::Map (class)">Sass::Source::Map</a></span>)</tt>)</span>
&mdash;
<div class='inline'>
<p>The rendered CSS and the associated source map</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SyntaxError.html" title="Sass::SyntaxError (class)">Sass::SyntaxError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>if there&#39;s an error in the document, or if the public URL for this
document couldn&#39;t be determined.</p>
</div>
</li>
<li>
<span class='type'>(<tt>Encoding::UndefinedConversionError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the source encoding cannot be converted to UTF-8</p>
</div>
</li>
<li>
<span class='type'>(<tt>ArgumentError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the document uses an unknown encoding with `@charset`</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
306
307
308
309</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 306</span>
<span class='kw'>def</span> <span class='id identifier rubyid_render_with_sourcemap'>render_with_sourcemap</span><span class='lparen'>(</span><span class='id identifier rubyid_sourcemap_uri'>sourcemap_uri</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='id identifier rubyid__render_with_sourcemap'>_render_with_sourcemap</span><span class='lparen'>(</span><span class='id identifier rubyid_sourcemap_uri'>sourcemap_uri</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='symbol'>:quiet</span><span class='rbracket'>]</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Util.html" title="Sass::Util (module)">Util</a></span></span><span class='period'>.</span><span class='id identifier rubyid_silence_sass_warnings'><span class='object_link'><a href="Util.html#silence_sass_warnings-instance_method" title="Sass::Util#silence_sass_warnings (method)">silence_sass_warnings</a></span></span> <span class='lbrace'>{</span><span class='id identifier rubyid__render_with_sourcemap'>_render_with_sourcemap</span><span class='lparen'>(</span><span class='id identifier rubyid_sourcemap_uri'>sourcemap_uri</span><span class='rparen'>)</span><span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="source_encoding-instance_method">
#<strong>source_encoding</strong> &#x21d2; <tt>Encoding</tt><sup>?</sup>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the original encoding of the document.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Encoding</tt>, <tt>nil</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>Encoding::UndefinedConversionError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the source encoding cannot be converted to UTF-8</p>
</div>
</li>
<li>
<span class='type'>(<tt>ArgumentError</tt>)</span>
&mdash;
<div class='inline'>
<p>if the document uses an unknown encoding with `@charset`</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
331
332
333
334</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 331</span>
<span class='kw'>def</span> <span class='id identifier rubyid_source_encoding'>source_encoding</span>
<span class='id identifier rubyid_check_encoding!'>check_encoding!</span>
<span class='ivar'>@source_encoding</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="to_tree-instance_method">
#<strong>to_tree</strong> &#x21d2; <tt><span class='object_link'><a href="Tree/Node.html" title="Sass::Tree::Node (class)">Sass::Tree::Node</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Parses the document into its parse tree. Memoized.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="Tree/Node.html" title="Sass::Tree::Node (class)">Sass::Tree::Node</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>The root of the parse tree.</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SyntaxError.html" title="Sass::SyntaxError (class)">Sass::SyntaxError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>if there&#39;s an error in the document</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
317
318
319
320
321
322
323</pre>
</td>
<td>
<pre class="code"><span class="info file"># File '.ruby-sass/lib/sass/engine.rb', line 317</span>
<span class='kw'>def</span> <span class='id identifier rubyid_to_tree'>to_tree</span>
<span class='ivar'>@tree</span> <span class='op'>||=</span> <span class='kw'>if</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='symbol'>:quiet</span><span class='rbracket'>]</span>
<span class='const'><span class='object_link'><a href="../Sass.html" title="Sass (module)">Sass</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Util.html" title="Sass::Util (module)">Util</a></span></span><span class='period'>.</span><span class='id identifier rubyid_silence_sass_warnings'><span class='object_link'><a href="Util.html#silence_sass_warnings-instance_method" title="Sass::Util#silence_sass_warnings (method)">silence_sass_warnings</a></span></span> <span class='lbrace'>{</span><span class='id identifier rubyid__to_tree'>_to_tree</span><span class='rbrace'>}</span>
<span class='kw'>else</span>
<span class='id identifier rubyid__to_tree'>_to_tree</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Mon Oct 22 13:20:51 2018 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.12 (ruby-2.5.3).
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-535380-14', 'sass-lang.com');
ga('send', 'pageview');
</script>
</body>
</html>