class Sass::Tree::ExtendNode
@see Sass::Tree
A static node reprenting an ‘@extend` directive.
def cssize(extends, parent)
- See: Node#cssize -
Parameters:
-
parent
(RuleNode
) -- The parent node of this node -
extends
(Haml::Util::SubsetMap{Selector::Simple => Selector::Sequence}
) --
def cssize(extends, parent) @resolved_selector.members.each do |seq| if seq.members.size > 1 raise Sass::SyntaxError.new("Can't extend #{seq.to_a.join}: can't extend nested selectors") end sseq = seq.members.first if !sseq.is_a?(Sass::Selector::SimpleSequence) raise Sass::SyntaxError.new("Can't extend #{seq.to_a.join}: invalid selector") end sel = sseq.members parent.resolved_rules.members.each do |seq| if !seq.members.last.is_a?(Sass::Selector::SimpleSequence) raise Sass::SyntaxError.new("#{seq} can't extend: invalid selector") end extends[sel] = seq end end [] end
def initialize(selector)
-
selector
(Array
) --
def initialize(selector) @selector = selector super() end
def perform!(environment)
-
environment
(Sass::Environment
) -- The lexical environment containing
def perform!(environment) @resolved_selector = Sass::SCSS::CssParser.new(run_interp(@selector, environment), self.line). parse_selector(self.filename) super end
def to_src(tabs, opts, fmt)
- See: Node#to_src -
def to_src(tabs, opts, fmt) "#{' ' * tabs}@extend #{selector_to_src(@selector, tabs, opts, fmt).lstrip}#{semi fmt}\n" end