Class: Sass::Script::Variable

Inherits:
Node show all
Defined in:
lib/sass/script/variable.rb

Overview

A SassScript parse node representing a variable.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Variable

Returns a new instance of Variable.

Parameters:



11
12
13
# File 'lib/sass/script/variable.rb', line 11

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameString (readonly)

The name of the variable.

Returns:



8
9
10
# File 'lib/sass/script/variable.rb', line 8

def name
  @name
end

Instance Method Details

#inspectString

Returns A string representation of the variable.

Returns:

  • (String)

    A string representation of the variable



16
17
18
# File 'lib/sass/script/variable.rb', line 16

def inspect
  "!#{name}"
end

#perform(environment) ⇒ Literal

Evaluates the variable.

Parameters:

  • environment (Sass::Environment)

    The environment in which to evaluate the SassScript

Returns:

  • (Literal)

    The SassScript object that is the value of the variable

Raises:



25
26
27
28
# File 'lib/sass/script/variable.rb', line 25

def perform(environment)
  (val = environment.var(name)) && (return val)
  raise SyntaxError.new("Undefined variable: \"!#{name}\".")
end