def to_css path = [], env = nil
path << @selector.to_css << name unless root?
content = @rules.select do |r|
r.is_a?(Mixin::Call) || r.instance_of?(Property)
end.map do |i|
' ' * 2 + i.to_css(env)
end.compact.reject(&:empty?) * "\n"
content = content.include?("\n") ? "\n#{content}\n" : " #{content.strip} "
ruleset = if is_a?(Mixin::Def)
content.strip
else
!content.strip.empty??
"#{[path.reject(&:empty?).join.strip,
*@set.map(&:name)].uniq * ', '} {#{content}}\n" : ""
end
ruleset + elements.reject {|e| e.is_a?(Mixin::Def) }.map do |i|
i.to_css(path, env)
end.reject(&:empty?).join
ensure
2.times { path.pop }
end