Class: Sass::Tree::RootNode

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

Overview

A static node that is the root node of the Sass document.

Direct Known Subclasses

ImportNode

Instance Attribute Summary collapse

Attributes inherited from Node

#children, #filename, #line, #options

Instance Method Summary collapse

Methods inherited from Node

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

Constructor Details

#initialize(template) ⇒ RootNode

Returns a new instance of RootNode.

Parameters:

  • template (String)

    The Sass template from which this node was created



11
12
13
14
# File 'lib/sass/tree/root_node.rb', line 11

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

Instance Attribute Details

#templateObject (readonly)

The Sass template from which this node was created

Parameters:

  • template (String)


8
9
10
# File 'lib/sass/tree/root_node.rb', line 8

def template
  @template
end

Instance Method Details

#_to_s(*args) ⇒ String (protected)

Computes the CSS corresponding to this Sass tree.

Parameters:

  • args (Array)

    ignored

Returns:

  • (String)

    The resulting CSS

Raises:

See Also:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/sass/tree/root_node.rb', line 40

def _to_s(*args)
  result = String.new
  children.each do |child|
    raise Sass::SyntaxError.new('Properties aren\'t allowed at the root of a document.',
      :line => child.line) if child.is_a? PropNode

    next if child.invisible?
    child_str = child.to_s(1)
    result << child_str + (style == :compressed ? '' : "\n")
  end
  result.rstrip!
  return "" if result.empty?
  return result + "\n"
end

#perform(*args) ⇒ Object

See Also:

  • Sass::Tree::RootNode.\{Node\{Node#perform}


25
26
27
28
29
30
# File 'lib/sass/tree/root_node.rb', line 25

def perform(*args)
  super
rescue Sass::SyntaxError => e
  e.sass_template = @template
  raise e
end

#to_s(*args) ⇒ Object

See Also:

  • Sass::Tree::RootNode.\{Node\{Node#to\_s}


17
18
19
20
21
22
# File 'lib/sass/tree/root_node.rb', line 17

def to_s(*args)
  super
rescue Sass::SyntaxError => e
  e.sass_template = @template
  raise e
end