Parent

Class Index [+]

Quicksearch

Sass::Script::Node

The abstract superclass for SassScript parse tree nodes.

Use {#perform} to evaluate a parse tree.

Attributes

options[R]

The options hash for this node.

@return [{Symbol => Object}]

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]

Public Class Methods

new() click to toggle source

Creates a new script node.

    # File lib/sass/script/node.rb, line 49
49:     def initialize
50:       @context = :default
51:     end

Public Instance Methods

children() click to toggle source

Returns all child nodes of this node.

@return [Array]

    # File lib/sass/script/node.rb, line 70
70:     def children
71:       raise NotImplementedError.new("All subclasses of Sass::Script::Node must override #children.")
72:     end
context=(context) click to toggle source

Sets the context for this node, as well as for all child nodes.

@param context [Symbol] @see #

    # File lib/sass/script/node.rb, line 43
43:     def context=(context)
44:       @context = context
45:       children.each {|c| c.context = context}
46:     end
options=(options) click to toggle source

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
perform(environment) click to toggle source

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
to_sass(opts = {}) click to toggle source

Returns the text of this SassScript expression.

@return [String]

    # File lib/sass/script/node.rb, line 77
77:     def to_sass(opts = {})
78:       raise NotImplementedError.new("All subclasses of Sass::Script::Node must override #to_sass.")
79:     end

Protected Instance Methods

_perform(environment) click to toggle source

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 #

    # 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
dasherize(s, opts) click to toggle source

Converts underscores to dashes if the :dasherize option is set.

    # File lib/sass/script/node.rb, line 84
84:     def dasherize(s, opts)
85:       if opts[:dasherize]
86:         s.gsub(/_/,'-')
87:       else
88:         s
89:       end
90:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.