Class: Sass::Tree::WhileNode
Overview
A dynamic node representing a Sass @while
loop.
Constant Summary
Constants inherited from Node
Instance Attribute Summary
Attributes inherited from Node
#children, #filename, #has_children, #line, #options
Instance Method Summary collapse
-
#_perform(environment) ⇒ Array<Tree::Node>
protected
Runs the child nodes until the continue expression becomes false.
-
#initialize(expr) ⇒ WhileNode
constructor
A new instance of WhileNode.
-
#invalid_child?(child) ⇒ Boolean, String
protected
Returns an error message if the given child node is invalid, and false otherwise.
- #to_src(tabs, opts, fmt) protected
Methods inherited from Node
#<<, #==, #_around_dump, #_cssize, #_to_s, #balance, #check_child!, #children_to_src, #cssize, #cssize!, #dasherize, #do_extend, #each, #invisible?, #perform, #perform!, #perform_children, #run_interp, #selector_to_sass, #selector_to_scss, #selector_to_src, #semi, #style, #to_s, #to_sass, #to_scss
Constructor Details
#initialize(expr) ⇒ WhileNode
Returns a new instance of WhileNode.
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.
27 28 29 30 31 32 33 34 |
# File 'lib/sass/tree/while_node.rb', line 27
def _perform(environment)
children = []
new_environment = Sass::Environment.new(environment)
while @expr.perform(environment).to_bool
children += perform_children(new_environment)
end
children
end
|
#invalid_child?(child) ⇒ Boolean, String (protected)
Returns an error message if the given child node is invalid, and false otherwise.
ExtendNodes are valid within Sass::Tree::WhileNodes.
44 45 46 |
# File 'lib/sass/tree/while_node.rb', line 44
def invalid_child?(child)
super unless child.is_a?(ExtendNode)
end
|
#to_src(tabs, opts, fmt) (protected)
17 18 19 |
# File 'lib/sass/tree/while_node.rb', line 17
def to_src(tabs, opts, fmt)
"#{' ' * tabs}@while #{@expr.to_sass(opts)}" + children_to_src(tabs, opts, fmt)
end
|