Sha256: 31fca8adb432341c63ad627c8306e2984cd08938d78bd47196fe93cf0a9d5bd6

Contents?: true

Size: 1.21 KB

Versions: 14

Compression:

Stored size: 1.21 KB

Contents

module Sass
  module Tree
    # A dynamic node representing a Sass `@warn` statement.
    #
    # @see Sass::Tree
    class WarnNode < Node
      # @param expr [Script::Node] The expression to print
      def initialize(expr)
        @expr = expr
        super()
      end

      protected

      def to_src(tabs, opts, fmt)
        "#{'  ' * tabs}@warn #{@expr.to_sass(opts)}#{semi fmt}\n"
      end

      # Prints the expression to STDERR with a stylesheet trace.
      #
      # @param environment [Sass::Environment] The lexical environment containing
      #   variable and mixin values
      def _perform(environment)
        environment.push_frame(:filename => filename, :line => line)
        res = @expr.perform(environment)
        res = res.value if res.is_a?(Sass::Script::String)
        msg = "WARNING: #{res}\n"
        environment.stack.reverse.each_with_index do |entry, i|
          msg << "        #{i == 0 ? "on" : "from"} line #{entry[:line]}" <<
            " of #{entry[:filename] || "an unknown file"}"
          msg << ", in `#{entry[:mixin]}'" if entry[:mixin]
          msg << "\n"
        end
        Haml::Util.haml_warn msg
        []
      ensure
        environment.pop_frame
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
haml-edge-2.3.209 lib/sass/tree/warn_node.rb
haml-3.0.0.beta.3 lib/sass/tree/warn_node.rb
haml-edge-2.3.208 lib/sass/tree/warn_node.rb
haml-edge-2.3.207 lib/sass/tree/warn_node.rb
haml-edge-2.3.206 lib/sass/tree/warn_node.rb
haml-edge-2.3.205 lib/sass/tree/warn_node.rb
haml-edge-2.3.204 lib/sass/tree/warn_node.rb
haml-3.0.0.beta.2 lib/sass/tree/warn_node.rb
haml-edge-2.3.203 lib/sass/tree/warn_node.rb
haml-edge-2.3.202 lib/sass/tree/warn_node.rb
haml-edge-2.3.201 lib/sass/tree/warn_node.rb
haml-edge-2.3.200 lib/sass/tree/warn_node.rb
haml-edge-2.3.199 lib/sass/tree/warn_node.rb
haml-edge-2.3.198 lib/sass/tree/warn_node.rb