| Class | Sass::Tree::WarnNode |
| In: |
lib/sass/tree/warn_node.rb
|
| Parent: | Node |
A dynamic node representing a Sass `@warn` statement.
@see Sass::Tree
@param expr [Script::Node] The expression to print
# File lib/sass/tree/warn_node.rb, line 8
8: def initialize(expr)
9: @expr = expr
10: super()
11: end
Prints the expression to STDERR with a stylesheet trace.
@param environment [Sass::Environment] The lexical environment containing
variable and mixin values
# File lib/sass/tree/warn_node.rb, line 24
24: def _perform(environment)
25: environment.push_frame(:filename => filename, :line => line)
26: res = @expr.perform(environment)
27: res = res.value if res.is_a?(Sass::Script::String)
28: msg = "WARNING: #{res}\n"
29: environment.stack.reverse.each_with_index do |entry, i|
30: msg << " #{i == 0 ? "on" : "from"} line #{entry[:line]}" <<
31: " of #{entry[:filename] || "an unknown file"}"
32: msg << ", in `#{entry[:mixin]}'" if entry[:mixin]
33: msg << "\n"
34: end
35: Haml::Util.haml_warn msg
36: []
37: ensure
38: environment.pop_frame
39: end
@see Node#to_src
# File lib/sass/tree/warn_node.rb, line 16
16: def to_src(tabs, opts, fmt)
17: "#{' ' * tabs}@warn #{@expr.to_sass(opts)}#{semi fmt}\n"
18: end