From 3edf0c95b5337861e13b6e20618ed58778c67827 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 14 Jan 2016 11:08:38 -0800 Subject: [PATCH 1/2] raise MissingDependencyError instead of aborting on missing dependency Reverts a0acb6956fdede396b814ce695eef78af0d56b96 Fixes #240 --- lib/html/pipeline.rb | 2 ++ lib/html/pipeline/autolink_filter.rb | 2 +- lib/html/pipeline/email_reply_filter.rb | 4 ++-- lib/html/pipeline/emoji_filter.rb | 2 +- lib/html/pipeline/markdown_filter.rb | 2 +- lib/html/pipeline/plain_text_input_filter.rb | 2 +- lib/html/pipeline/sanitization_filter.rb | 2 +- lib/html/pipeline/syntax_highlight_filter.rb | 2 +- lib/html/pipeline/textile_filter.rb | 2 +- 9 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/html/pipeline.rb b/lib/html/pipeline.rb index eb3c3091..076925f6 100644 --- a/lib/html/pipeline.rb +++ b/lib/html/pipeline.rb @@ -42,6 +42,8 @@ class Pipeline autoload :TextileFilter, 'html/pipeline/textile_filter' autoload :TableOfContentsFilter, 'html/pipeline/toc_filter' autoload :TextFilter, 'html/pipeline/text_filter' + + MissingDependencyError = Class.new(LoadError) # 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 From 78115f63bd499c25922f3dd77c8fd3db3c54ed51 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 14 Jan 2016 11:28:41 -0800 Subject: [PATCH 2/2] declare MissingDependencyError using 'class' keyword --- lib/html/pipeline.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/html/pipeline.rb b/lib/html/pipeline.rb index 076925f6..5ab83ff2 100644 --- a/lib/html/pipeline.rb +++ b/lib/html/pipeline.rb @@ -42,8 +42,8 @@ class Pipeline autoload :TextileFilter, 'html/pipeline/textile_filter' autoload :TableOfContentsFilter, 'html/pipeline/toc_filter' autoload :TextFilter, 'html/pipeline/text_filter' - - MissingDependencyError = Class.new(LoadError) + + class MissingDependencyError < LoadError; end # Our DOM implementation. DocumentFragment = Nokogiri::HTML::DocumentFragment