Skip to content

Commit 5fec5a2

Browse files
committed
Have Zeitwerk not automatically load filters
This causes problems if the underlying filter is not called, because Zeitwerk attempts to laod the required dependencies cf https://github.com/fxn/zeitwerk#use-case-the-adapter-pattern
1 parent a2e02ac commit 5fec5a2

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ end
7979

8080
pipeline = HTMLPipeline.new(
8181
text_filters: [HelloJohnnyFilter.new]
82-
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new),
82+
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new,
8383
# note: next line is not needed as sanitization occurs by default;
8484
# see below for more info
8585
sanitization_config: HTMLPipeline::SanitizationFilter::DEFAULT_CONFIG,
@@ -126,8 +126,8 @@ context = {
126126

127127
# Pipeline used for user provided content on the web
128128
MarkdownPipeline = HTMLPipeline.new (
129-
text_filters: [HTMLPipeline::TextFilter::ImageMaxWidthFilter.new],
130-
convert_filter: [HTMLPipeline::ConvertFilter::MarkdownFilter.new],
129+
text_filters: [HTMLPipeline::TextFilter::ImageFilter.new],
130+
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new,
131131
node_filters: [
132132
HTMLPipeline::NodeFilter::HttpsFilter.new,HTMLPipeline::NodeFilter::MentionFilter.new,
133133
], context: context)
@@ -137,7 +137,7 @@ MarkdownPipeline = HTMLPipeline.new (
137137
HtmlEmailPipeline = HTMLPipeline.new(
138138
text_filters: [
139139
PlainTextInputFilter.new,
140-
ImageMaxWidthFilter.new
140+
ImageFilter.new
141141
], {})
142142
```
143143

@@ -173,7 +173,7 @@ pipeline = HTMLPipeline.new \
173173
text_filters: [
174174
HTMLPipeline::MarkdownFilter,
175175
],
176-
convert_filter: [HTMLPipeline::ConvertFilter::MarkdownFilter.new],
176+
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new,
177177
sanitization_config: ALLOWLIST
178178

179179
result = pipeline.call <<-CODE
@@ -201,7 +201,7 @@ pipeline = HTMLPipeline.new \
201201
text_filters: [
202202
HTMLPipeline::MarkdownFilter,
203203
],
204-
convert_filter: [HTMLPipeline::ConvertFilter::MarkdownFilter.new],
204+
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new,
205205
sanitization_config: nil
206206
```
207207

lib/html_pipeline.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
require "zeitwerk"
44
lib_dir = File.join(File.dirname(__dir__), "lib")
5+
lib_html_pipeline_dir = File.join(File.dirname(__dir__), "lib", "html_pipeline")
56
gem_loader = Zeitwerk::Loader.for_gem
67
gem_loader.inflector.inflect(
78
"html_pipeline" => "HTMLPipeline",
89
)
10+
11+
gem_loader.ignore(File.join(lib_html_pipeline_dir, "convert_filter"))
12+
gem_loader.ignore(File.join(lib_html_pipeline_dir, "node_filter"))
13+
gem_loader.ignore(File.join(lib_html_pipeline_dir, "text_filter"))
914
gem_loader.ignore(File.join(lib_dir, "html-pipeline.rb"))
1015
gem_loader.setup
1116

lib/html_pipeline/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
class HTMLPipeline
4-
VERSION = "3.0.0.pre5"
4+
VERSION = "3.0.0.pre6"
55
end

0 commit comments

Comments
 (0)