@@ -122,7 +122,7 @@ def initialize(text_filters: [], convert_filter: nil, sanitization_config: Sanit
122
122
123
123
@convert_filter = convert_filter
124
124
125
- if @convert_filter . nil? && ( !@text_filters . empty? && !@node_filters . empty? )
125
+ if @convert_filter . nil? && !@text_filters . empty? && !@node_filters . empty?
126
126
raise InvalidFilterError , "Must provide `convert_filter` if `text_filters` and `node_filters` are also provided"
127
127
elsif !@convert_filter . nil?
128
128
validate_filter ( @convert_filter , HTMLPipeline ::ConvertFilter )
@@ -154,13 +154,13 @@ def call(text, context: {}, result: {})
154
154
if @text_filters . any?
155
155
payload = default_payload ( {
156
156
text_filters : @text_filters . map { |f | f . class . name } ,
157
- context : context ,
158
- result : result ,
157
+ context :,
158
+ result :,
159
159
} )
160
160
instrument ( "call_text_filters.html_pipeline" , payload ) do
161
161
result [ :output ] =
162
162
@text_filters . inject ( text ) do |doc , filter |
163
- perform_filter ( filter , doc , context : ( filter . context || { } ) . merge ( context ) , result : result )
163
+ perform_filter ( filter , doc , context : ( filter . context || { } ) . merge ( context ) , result :)
164
164
end
165
165
end
166
166
end
@@ -181,18 +181,18 @@ def call(text, context: {}, result: {})
181
181
} ,
182
182
}
183
183
184
- if @node_filters . empty?
184
+ if @node_filters . empty? && ! @sanitization_config . nil?
185
185
instrument ( "sanitization.html_pipeline" , payload ) do
186
186
result [ :output ] = Selma ::Rewriter . new ( sanitizer : @sanitization_config , options : rewriter_options ) . rewrite ( html )
187
187
end
188
- else
188
+ elsif @node_filters . any?
189
189
instrument ( "call_node_filters.html_pipeline" , payload ) do
190
190
@node_filters . each { |filter | filter . context = ( filter . context || { } ) . merge ( context ) }
191
191
result [ :output ] = Selma ::Rewriter . new ( sanitizer : @sanitization_config , handlers : @node_filters , options : rewriter_options ) . rewrite ( html )
192
192
payload = default_payload ( {
193
193
node_filters : @node_filters . map { |f | f . class . name } ,
194
- context : context ,
195
- result : result ,
194
+ context :,
195
+ result :,
196
196
} )
197
197
end
198
198
end
@@ -211,18 +211,18 @@ def call(text, context: {}, result: {})
211
211
def perform_filter ( filter , doc , context : { } , result : { } )
212
212
payload = default_payload ( {
213
213
filter : filter . class . name ,
214
- context : context ,
215
- result : result ,
214
+ context :,
215
+ result :,
216
216
} )
217
217
218
218
instrument ( "call_filter.html_pipeline" , payload ) do
219
- filter . call ( doc , context : context , result : result )
219
+ filter . call ( doc , context :, result :)
220
220
end
221
221
end
222
222
223
223
# Like call but guarantee the value returned is a string of HTML markup.
224
224
def to_html ( input , context : { } , result : { } )
225
- result = call ( input , context : context , result : result )
225
+ result = call ( input , context :, result :)
226
226
output = result [ :output ]
227
227
if output . respond_to? ( :to_html )
228
228
output . to_html
0 commit comments