From 6cbd49d5f523988e4f7ca726ded4ba9fb18277d8 Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Sat, 19 Apr 2008 10:07:40 -0700 Subject: [PATCH] Get rid of Haml::HamlError. It makes more sense to just raise Haml::Error. --- lib/haml/error.rb | 6 +----- lib/haml/exec.rb | 2 +- lib/haml/filters.rb | 6 +++--- lib/haml/precompiler.rb | 6 +++--- test/haml/engine_test.rb | 8 ++++---- 5 files changed, 12 insertions(+), 16 deletions(-) diff --git a/lib/haml/error.rb b/lib/haml/error.rb index 5e45f913..b279c7d7 100644 --- a/lib/haml/error.rb +++ b/lib/haml/error.rb @@ -1,5 +1,5 @@ module Haml - # The abstract type of exception raised by Haml code. + # An exception raised by Haml code. class Error < StandardError # :stopdoc: @@ -20,8 +20,4 @@ module Haml # ill-formatted document. # It's not particularly interesting, except in that it includes Haml::Error. class SyntaxError < Haml::Error; end - - # HamlError is the type of exception raised when Haml encounters an error - # not of a syntactical nature, such as an undefined Filter. - class HamlError < Haml::Error; end end diff --git a/lib/haml/exec.rb b/lib/haml/exec.rb index 970c7473..f7d20406 100644 --- a/lib/haml/exec.rb +++ b/lib/haml/exec.rb @@ -250,7 +250,7 @@ END case e when ::Haml::SyntaxError; raise "Syntax error on line #{get_line e}: #{e.message}" - when ::Haml::HamlError; raise "Haml error on line #{get_line e}: #{e.message}" + when ::Haml::Error; raise "Haml error on line #{get_line e}: #{e.message}" else raise "Exception on line #{get_line e}: #{e.message}\n Use --trace for backtrace." end end diff --git a/lib/haml/filters.rb b/lib/haml/filters.rb index ffa448ad..c25d31e2 100644 --- a/lib/haml/filters.rb +++ b/lib/haml/filters.rb @@ -38,7 +38,7 @@ module Haml # to render text with the given filter. # If compile is overridden, however, render doesn't need to be. def render(text) - raise HamlError.new("#{self.inspect}#render not defined!") + raise Error.new("#{self.inspect}#render not defined!") end def internal_compile(*args) # :nodoc: @@ -118,9 +118,9 @@ module Haml classname = self.class.to_s.gsub(/\w+::/, '') if @lazy_requires.size == 1 - raise HamlError.new("Can't run #{classname} filter; required file '#{@lazy_requires.first}' not found") + raise Error.new("Can't run #{classname} filter; required file '#{@lazy_requires.first}' not found") else - raise HamlError.new("Can't run #{classname} filter; required #{@lazy_requires.map { |r| "'#{r}'" }.join(' or ')}, but none were found") + raise Error.new("Can't run #{classname} filter; required #{@lazy_requires.map { |r| "'#{r}'" }.join(' or ')}, but none were found") end end end diff --git a/lib/haml/precompiler.rb b/lib/haml/precompiler.rb index 2b9a4553..7e31d527 100644 --- a/lib/haml/precompiler.rb +++ b/lib/haml/precompiler.rb @@ -669,13 +669,13 @@ END # Starts a filtered block. def start_filtered(name) - raise HamlError.new("Invalid filter name \":#{name}\".") unless name =~ /^\w+$/ + raise Error.new("Invalid filter name \":#{name}\".") unless name =~ /^\w+$/ unless filter = options[:filters][name] if filter == 'redcloth' || filter == 'markdown' || filter == 'textile' - raise HamlError.new("You must have the RedCloth gem installed to use \"#{name}\" filter") + raise Error.new("You must have the RedCloth gem installed to use \"#{name}\" filter") end - raise HamlError.new("Filter \"#{name}\" is not defined.") + raise Error.new("Filter \"#{name}\" is not defined.") end push_and_tabulate([:filtered, filter]) diff --git a/test/haml/engine_test.rb b/test/haml/engine_test.rb index f024076d..0b127e66 100644 --- a/test/haml/engine_test.rb +++ b/test/haml/engine_test.rb @@ -229,7 +229,7 @@ END begin assert_equal("", render(":ruby\n puts 'hello'", :suppress_eval => true)) - rescue Haml::HamlError => err + rescue Haml::Error => err caught = true assert_equal('Filter "ruby" is not defined.', err.message) end @@ -385,7 +385,7 @@ END begin assert_equal("

Foo

\t

- a\n- b

\n", Haml::Engine.new(":markdown\n Foo\n ===\n - a\n - b").to_html) - rescue Haml::HamlError => e + rescue Haml::Error => e if e.message == "Can't run Markdown filter; required 'bluecloth' or 'redcloth', but none were found" puts "\nCouldn't require 'bluecloth' or 'redcloth'; skipping a test." else @@ -410,7 +410,7 @@ END begin Haml::Engine.new(":redcloth\n _foo_").to_html - rescue Haml::HamlError + rescue Haml::Error else assert(false, "No exception raised!") end @@ -432,7 +432,7 @@ END begin Haml::Engine.new(":markdown\n _foo_").to_html - rescue Haml::HamlError + rescue Haml::Error else assert(false, "No exception raised!") end