class Sass::Tree::DirectiveNode
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 {DirectiveNode}s.
‘@import` and `@charset` are special cases; they become {ImportNode}s and {CharsetNode}s, respectively.
@see Sass::Tree
Attributes
@see RuleNode#group_end
The text of the directive after any interpolated SassScript has been resolved. Only set once {Tree::Visitors::Perform} has been run.
@return [String]
@see RuleNode#tabs
The text of the directive, ‘@` and all, with interpolation included.
@return [Array<String, Sass::Script::Tree::Node
>]
Public Class Methods
@param value [Array<String, Sass::Script::Tree::Node
>] See {#value}
# File lib/sass/tree/directive_node.rb, line 30 def initialize(value) @value = value @tabs = 0 super() end
@param value [String] See {#resolved_value} @return [DirectiveNode]
# File lib/sass/tree/directive_node.rb, line 38 def self.resolved(value) node = new([value]) node.resolved_value = value node end
Public Instance Methods
# File lib/sass/tree/directive_node.rb, line 55 def bubbles? has_children end
@return [String] The name of the directive, including ‘@`.
# File lib/sass/tree/directive_node.rb, line 45 def name @name ||= value.first.gsub(/ .*$/, '') end
Strips out any vendor prefixes and downcases the directive name. @return [String] The normalized name of the directive.
# File lib/sass/tree/directive_node.rb, line 51 def normalized_name @normalized_name ||= name.gsub(/^(@)(?:-[a-zA-Z0-9]+-)?/, '\1').downcase end