class Sass::Tree::IfNode

@see Sass::Tree
each {IfNode} has a link ({#else}) to the next {IfNode}.
This is done as a linked list:
{IfNode}s are a little odd, in that they also represent ‘@else` and `@else if`s.
A dynamic node representing a Sass `@if` statement.

def self._load(data)

def self._load(data)
  expr, else_, children = Marshal.load(data)
  node = IfNode.new(expr)
  node.else = else_
  node.children = children
  node.instance_variable_set('@last_else',
    node.else ? node.else.instance_variable_get('@last_else') : node)
  node
end

def _dump(f)

def _dump(f)
  Marshal.dump([expr, self.else, children])
end

def add_else(node)

Parameters:
  • node (IfNode) -- The `@else` node to append
def add_else(node)
  @last_else.else = node
  @last_else = node
end

def initialize(expr)

Parameters:
  • expr (Script::Expr) -- See \{#expr}
def initialize(expr)
  @expr = expr
  @last_else = self
  super()
end