Class: Sass::Tree::WhileNode

Inherits:
Node show all
Defined in:
lib/sass/tree/while_node.rb

Overview

A dynamic node representing a Sass @while loop.

See Also:

Instance Attribute Summary

Attributes inherited from Node

#children, #filename, #line, #options

Instance Method Summary collapse

Methods inherited from Node

#<<, #==, #_to_s, #balance, #interpolate, #invalid_child?, #invisible?, #last, #perform, #perform!, #perform_children, #render, #style, #to_s, #to_sass

Constructor Details

#initialize(expr) ⇒ WhileNode

Returns a new instance of WhileNode.

Parameters:

  • expr (Script::Node)

    The parse tree for the continue expression



9
10
11
12
# File 'lib/sass/tree/while_node.rb', line 9

def initialize(expr)
  @expr = expr
  super()
end

Instance Method Details

#_perform(environment) ⇒ Array<Tree::Node> (protected)

Runs the child nodes until the continue expression becomes false.

Parameters:

  • environment (Sass::Environment)

    The lexical environment containing variable and mixin values

Returns:

  • (Array<Tree::Node>)

    The resulting static nodes

See Also:



22
23
24
25
26
27
28
29
# File 'lib/sass/tree/while_node.rb', line 22

def _perform(environment)
  children = []
  new_environment = Sass::Environment.new(environment)
  while @expr.perform(environment).to_bool
    children += perform_children(new_environment)
  end
  children
end