Class | Sass::Script::Node |
In: |
lib/sass/script/node.rb
|
Parent: | Object |
The abstract superclass for SassScript parse tree nodes.
Use \{perform} to evaluate a parse tree.
context | [R] |
The context in which this node was parsed, which determines how some
operations are performed.
Can be `:equals`, which means it‘s part of a `$var = val` or `prop = val` assignment, or `:default`, which means it‘s anywhere else (including `$var: val` and `prop: val` assignments, `#{}`-interpolations, and other script contexts such as `@if` conditions). @return [Symbol] |
line | [RW] |
The line of the document on which this node appeared.
@return [Fixnum] |
options | [R] |
The options hash for this node.
@return [{Symbol => Object}] |
Sets the context for this node, as well as for all child nodes.
@param context [Symbol] @see context
# File lib/sass/script/node.rb, line 43 43: def context=(context) 44: @context = context 45: children.each {|c| c.context = context} 46: end
Sets the options hash for this node, as well as for all child nodes. See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
@param options [{Symbol => Object}] The options
# File lib/sass/script/node.rb, line 33 33: def options=(options) 34: @options = options 35: children.each {|c| c.options = options} 36: end
Evaluates the node.
\{perform} shouldn‘t be overridden directly; instead, override \{_perform}.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Literal] The SassScript object that is the value of the SassScript
# File lib/sass/script/node.rb, line 60 60: def perform(environment) 61: _perform(environment) 62: rescue Sass::SyntaxError => e 63: e.modify_backtrace(:line => line) 64: raise e 65: end
Evaluates this node.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Literal] The SassScript object that is the value of the SassScript @see perform
# File lib/sass/script/node.rb, line 97 97: def _perform(environment) 98: raise NotImplementedError.new("All subclasses of Sass::Script::Node must override #_perform.") 99: end