diff --git a/lib/html/pipeline.rb b/lib/html/pipeline.rb
index eb3c3091..5ab83ff2 100644
--- a/lib/html/pipeline.rb
+++ b/lib/html/pipeline.rb
@@ -43,6 +43,8 @@ class Pipeline
autoload :TableOfContentsFilter, 'html/pipeline/toc_filter'
autoload :TextFilter, 'html/pipeline/text_filter'
+ class MissingDependencyError < LoadError; end
+
# Our DOM implementation.
DocumentFragment = Nokogiri::HTML::DocumentFragment
diff --git a/lib/html/pipeline/autolink_filter.rb b/lib/html/pipeline/autolink_filter.rb
index 4a2f6f73..bc8997e4 100644
--- a/lib/html/pipeline/autolink_filter.rb
+++ b/lib/html/pipeline/autolink_filter.rb
@@ -1,7 +1,7 @@
begin
require "rinku"
rescue LoadError => _
- abort "Missing dependency 'rinku' for AutolinkFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'rinku' for AutolinkFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/email_reply_filter.rb b/lib/html/pipeline/email_reply_filter.rb
index c1dd32a9..d54828ac 100644
--- a/lib/html/pipeline/email_reply_filter.rb
+++ b/lib/html/pipeline/email_reply_filter.rb
@@ -1,13 +1,13 @@
begin
require "escape_utils"
rescue LoadError => _
- abort "Missing dependency 'escape_utils' for EmailReplyFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'escape_utils' for EmailReplyFilter. See README.md for details."
end
begin
require "email_reply_parser"
rescue LoadError => _
- abort "Missing dependency 'email_reply_parser' for EmailReplyFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'email_reply_parser' for EmailReplyFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/emoji_filter.rb b/lib/html/pipeline/emoji_filter.rb
index 36e6bc3b..6d81f4f4 100644
--- a/lib/html/pipeline/emoji_filter.rb
+++ b/lib/html/pipeline/emoji_filter.rb
@@ -3,7 +3,7 @@
begin
require "gemoji"
rescue LoadError => _
- abort "Missing dependency 'gemoji' for EmojiFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'gemoji' for EmojiFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/markdown_filter.rb b/lib/html/pipeline/markdown_filter.rb
index d08e5412..94a820a1 100644
--- a/lib/html/pipeline/markdown_filter.rb
+++ b/lib/html/pipeline/markdown_filter.rb
@@ -1,7 +1,7 @@
begin
require "github/markdown"
rescue LoadError => _
- abort "Missing dependency 'github-markdown' for MarkdownFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'github-markdown' for MarkdownFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/plain_text_input_filter.rb b/lib/html/pipeline/plain_text_input_filter.rb
index c6e468d7..3a65ab50 100644
--- a/lib/html/pipeline/plain_text_input_filter.rb
+++ b/lib/html/pipeline/plain_text_input_filter.rb
@@ -1,7 +1,7 @@
begin
require "escape_utils"
rescue LoadError => _
- abort "Missing dependency 'escape_utils' for PlainTextInputFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'escape_utils' for PlainTextInputFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/sanitization_filter.rb b/lib/html/pipeline/sanitization_filter.rb
index 31270db9..5084a2c0 100644
--- a/lib/html/pipeline/sanitization_filter.rb
+++ b/lib/html/pipeline/sanitization_filter.rb
@@ -1,7 +1,7 @@
begin
require "sanitize"
rescue LoadError => _
- abort "Missing dependency 'sanitize' for SanitizationFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'sanitize' for SanitizationFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/syntax_highlight_filter.rb b/lib/html/pipeline/syntax_highlight_filter.rb
index c03dfe01..dfdba6e1 100644
--- a/lib/html/pipeline/syntax_highlight_filter.rb
+++ b/lib/html/pipeline/syntax_highlight_filter.rb
@@ -1,7 +1,7 @@
begin
require "linguist"
rescue LoadError => _
- abort "Missing dependency 'github-linguist' for SyntaxHighlightFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'github-linguist' for SyntaxHighlightFilter. See README.md for details."
end
module HTML
diff --git a/lib/html/pipeline/textile_filter.rb b/lib/html/pipeline/textile_filter.rb
index d08bce33..49214d7d 100644
--- a/lib/html/pipeline/textile_filter.rb
+++ b/lib/html/pipeline/textile_filter.rb
@@ -1,7 +1,7 @@
begin
require "redcloth"
rescue LoadError => _
- abort "Missing dependency 'RedCloth' for TextileFilter. See README.md for details."
+ raise MissingDependencyError, "Missing dependency 'RedCloth' for TextileFilter. See README.md for details."
end
module HTML