Sha256: f2e6d2cb9cc87ca0bd11c383ab7d1e6fa57ebe1e5bc42c61e20dc5a5b38789dd

Contents?: true

Size: 1.75 KB

Versions: 82

Compression:

Stored size: 1.75 KB

Contents

module Sass
  # An exception class that keeps track of
  # the line of the Sass template it was raised on
  # and the Sass file that was being parsed (if applicable).
  #
  # All Sass errors are raised as {Sass::SyntaxError}s.
  class SyntaxError < StandardError
    # The line of the Sass template on which the error occurred.
    #
    # @return [Fixnum]
    attr_accessor :sass_line

    # The name of the file that was being parsed when the exception was raised.
    # This could be `nil` if no filename is available.
    #
    # @return [String]
    attr_reader :sass_filename

    # @param msg [String] The error message
    # @param lineno [Fixnum] See \{#sass\_line}
    def initialize(msg, lineno = nil)
      @message = msg
      @sass_line = lineno
    end

    # Add information about the filename and line on which the error was raised,
    # and re-raises the exception.
    #
    # @param filename [String] See \{#sass\_filename}
    # @param line [Fixnum] See \{#sass\_line}
    # @raise [Sass::SyntaxError] self
    def add_metadata(filename, line)
      self.sass_line ||= line
      add_backtrace_entry(filename) unless sass_filename
      raise self
    end

    # Adds a properly formatted entry to the exception's backtrace.
    #
    # @param filename [String] The file in which the error occurred,
    #   if applicable (defaults to "(sass)")
    def add_backtrace_entry(filename) # :nodoc:
      @sass_filename ||= filename
      self.backtrace ||= []
      self.backtrace.unshift "#{@sass_filename || '(sass)'}:#{@sass_line}"
    end

    # @return [String] The error message
    def to_s
      @message
    end
  end

  # The class for Sass errors that are raised due to invalid unit conversions
  # in SassScript.
  class UnitConversionError < SyntaxError; end
end

Version data entries

82 entries across 81 versions & 6 rubygems

Version Path
radiantcms-couchrest_model-0.1.4 vendor/plugins/haml/lib/sass/error.rb
radiant-0.9.1 vendor/plugins/haml/lib/sass/error.rb
haml-2.2.24 lib/sass/error.rb
radiant-0.9.0.rc2 vendor/plugins/haml/lib/sass/error.rb
haml-2.2.23 lib/sass/error.rb
haml-2.2.22 lib/sass/error.rb
haml-2.2.21 lib/sass/error.rb
haml-2.2.20 lib/sass/error.rb
haml-2.2.19 lib/sass/error.rb
haml-2.2.18 lib/sass/error.rb
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.8/gems/haml-2.2.17/lib/sass/error.rb
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.9.1/gems/haml-2.2.17/lib/sass/error.rb
haml-2.2.17 lib/sass/error.rb
middleman-0.12.2 lib/middleman/vendor/gems/gems/haml-2.2.16/lib/sass/error.rb
simple-templater-0.0.1.4 gems/gems/haml-2.2.16/lib/sass/error.rb
haml-2.2.16 lib/sass/error.rb
middleman-0.12.1 lib/middleman/vendor/gems/gems/haml-2.2.15/lib/sass/error.rb
middleman-0.12.0.pre3 lib/middleman/vendor/gems/gems/haml-2.2.15/lib/sass/error.rb
middleman-0.12.0.pre2 lib/middleman/vendor/gems/gems/haml-2.2.15/lib/sass/error.rb
haml-2.2.15 lib/sass/error.rb