lib/sass/error.rb in haml-edge-2.1.21 vs lib/sass/error.rb in haml-edge-2.1.22
- old
+ new
@@ -1,42 +1,53 @@
module Sass
- # Sass::SyntaxError encapsulates information about the exception,
- # such as the line of the Sass template it was raised on
+ # 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).
- # It also provides a handy way to rescue only exceptions raised
- # because of a faulty template.
+ #
+ # All Sass errors are raised as {Sass::SyntaxError}s.
class SyntaxError < StandardError
- # The line of the Sass template on which the exception was thrown.
+ # 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 will be nil unless Sass is being used as an ActionView plugin.
+ # This could be `nil` if no filename is available.
+ #
+ # @return [String]
attr_reader :sass_filename
- # Creates a new SyntaxError.
- # +lineno+ should be the line of the Sass template on which the error occurred.
+ # @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.
+ # 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.
- # +filename+ should be the file in which the error occurred,
- # if applicable (defaults to "(sass)").
+ #
+ # @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
- def to_s # :nodoc:
+ # @return [String] The error message
+ def to_s
@message
end
end
end