Class: Sass::Tree::DirectiveNode
- Defined in:
- 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
Instance Attribute Summary collapse
- #group_end
-
#resolved_value ⇒ String
The text of the directive after any interpolated SassScript has been resolved.
- #tabs
-
#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
#<<, #==, #balance, #css, #css_with_sourcemap, #deep_copy, #each, #inspect, #invisible?, #style, #to_sass, #to_scss
Constructor Details
#initialize(value) ⇒ DirectiveNode
Returns a new instance of DirectiveNode.
30 31 32 33 34 |
# File 'lib/sass/tree/directive_node.rb', line 30
def initialize(value)
@value = value
@tabs = 0
super()
end
|
Instance Attribute Details
#group_end
27 28 29 |
# File '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 'lib/sass/tree/directive_node.rb', line 21
def resolved_value
@resolved_value
end
|
#tabs
24 25 26 |
# File '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 'lib/sass/tree/directive_node.rb', line 15
def value
@value
end
|
Class Method Details
.resolved(value) ⇒ DirectiveNode
38 39 40 41 42 |
# File '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 '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 '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 'lib/sass/tree/directive_node.rb', line 51
def normalized_name
@normalized_name ||= name.gsub(/^(@)(?:-[a-zA-Z0-9]+-)?/, '\1').downcase
end
|