Class: Sass::Tree::DirectiveNode
- Inherits:
-
Node
- Object
- Node
- Sass::Tree::DirectiveNode
- Defined in:
- .ruby-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.
Direct Known Subclasses
Direct Known Subclasses
Instance Attribute Summary (collapse)
- #group_end ⇒ Object
-
#resolved_value ⇒ String
The text of the directive after any interpolated SassScript has been resolved.
- #tabs ⇒ Object
-
#value ⇒ Array<String, Sass::Script::Tree::Node>
The text of the directive, `@` and all, with interpolation included.
Attributes inherited from Node
#children, #filename, #has_children, #line, #options, #source_range
Class Method Summary (collapse)
Instance Method Summary (collapse)
- #bubbles? ⇒ Boolean
-
#initialize(value) ⇒ DirectiveNode
constructor
A new instance of DirectiveNode.
-
#name ⇒ String
The name of the directive, including `@`.
-
#normalized_name ⇒ String
Strips out any vendor prefixes and downcases the directive name.
Methods inherited from Node
#<<, #==, #css, #css_with_sourcemap, #deep_copy, #each, inherited, #inspect, #invisible?, #style, #to_sass, #to_scss
Constructor Details
#initialize(value) ⇒ DirectiveNode
Returns a new instance of DirectiveNode
30 31 32 33 34 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 30 def initialize(value) @value = value @tabs = 0 super() end |
Constructor Details
#initialize(value) ⇒ DirectiveNode
Returns a new instance of DirectiveNode
30 31 32 33 34 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 30 def initialize(value) @value = value @tabs = 0 super() end |
Instance Attribute Details
#group_end ⇒ Object
27 28 29 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 27 def group_end @group_end end |
#resolved_value ⇒ String
The text of the directive after any interpolated SassScript has been resolved. Only set once Visitors::Perform has been run.
21 22 23 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 21 def resolved_value @resolved_value end |
#tabs ⇒ Object
24 25 26 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 24 def tabs @tabs end |
#value ⇒ Array<String, Sass::Script::Tree::Node>
The text of the directive, `@` and all, with interpolation included.
15 16 17 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 15 def value @value end |
Class Method Details
.resolved(value) ⇒ DirectiveNode
38 39 40 41 42 |
# File '.ruby-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
#bubbles? ⇒ Boolean
55 56 57 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 55 def bubbles? has_children end |
#name ⇒ String
Returns The name of the directive, including `@`.
45 46 47 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 45 def name @name ||= value.first.gsub(/ .*$/, '') end |
#normalized_name ⇒ String
Strips out any vendor prefixes and downcases the directive name.
51 52 53 |
# File '.ruby-sass/lib/sass/tree/directive_node.rb', line 51 def normalized_name @normalized_name ||= name.gsub(/^(@)(?:-[a-zA-Z0-9]+-)?/, '\1').downcase end |