Class: Sass::Tree::DirectiveNode

Inherits:
Node
  • Object
show all
Defined in:
/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb

Overview

A static node representing an unprocessed Sass @-directive. Directives known to Sass, like @for and @debug, are handled by their own nodes; only CSS directives like @media and @font-face become DirectiveNodes.

@import and @charset are special cases; they become ImportNodes and CharsetNodes, respectively.

See Also:

Direct Known Subclasses

CssImportNode, MediaNode, SupportsNode

Instance Attribute Summary (collapse)

Attributes inherited from Node

#children, #filename, #has_children, #line, #options, #source_range

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Node

#<<, #==, #balance, #css, #css_with_sourcemap, #deep_copy, #each, #inspect, #invisible?, #style, #to_sass, #to_scss

Constructor Details

- (DirectiveNode) initialize(value)

Returns a new instance of DirectiveNode

Parameters:



30
31
32
33
34
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 30

def initialize(value)
  @value = value
  @tabs = 0
  super()
end

Instance Attribute Details

- group_end

See Also:



27
28
29
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 27

def group_end
  @group_end
end

- (String) resolved_value

The text of the directive after any interpolated SassScript has been resolved. Only set once Visitors::Perform has been run.

Returns:

  • (String)


21
22
23
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 21

def resolved_value
  @resolved_value
end

- tabs

See Also:



24
25
26
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 24

def tabs
  @tabs
end

- (Array<String, Sass::Script::Tree::Node>) value

The text of the directive, @ and all, with interpolation included.

Returns:



15
16
17
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 15

def value
  @value
end

Class Method Details

+ (DirectiveNode) resolved(value)

Parameters:

Returns:



38
39
40
41
42
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 38

def self.resolved(value)
  node = new([value])
  node.resolved_value = value
  node
end

Instance Method Details

- (Boolean) bubbles?

Returns:

  • (Boolean)


55
56
57
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 55

def bubbles?
  has_children
end

- (String) name

Returns The name of the directive, including @.

Returns:

  • (String)

    The name of the directive, including @.



45
46
47
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 45

def name
  @name ||= value.first.gsub(/ .*$/, '')
end

- (String) normalized_name

Strips out any vendor prefixes and downcases the directive name.

Returns:

  • (String)

    The normalized name of the directive.



51
52
53
# File '/home/nweiz/code/sass-site/.sass/lib/sass/tree/directive_node.rb', line 51

def normalized_name
  @normalized_name ||= name.gsub(/^(@)(?:-[a-zA-Z0-9]+-)?/, '\1').downcase
end