From 644de4c4f5cba6c4abf6a1de0ed7b52f37ae89bb Mon Sep 17 00:00:00 2001 From: Mike Angell Date: Wed, 25 Sep 2019 23:33:46 +1000 Subject: [PATCH] Code improvements --- lib/liquid/block_body.rb | 4 ++-- lib/liquid/tag.rb | 4 ++-- lib/liquid/tags/render.rb | 2 +- lib/liquid/variable.rb | 8 ++++++++ test/integration/registers/disabled_tags_test.rb | 4 ++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/liquid/block_body.rb b/lib/liquid/block_body.rb index 2fb4519..3d22736 100644 --- a/lib/liquid/block_body.rb +++ b/lib/liquid/block_body.rb @@ -154,8 +154,8 @@ module Liquid private def render_node(context, output, node) - return if node.is_a?(Tag) && node.disabled?(context, output) - disable_tags(context, node.is_a?(Tag) ? node.disabled_tags : nil) do + return if node.disabled?(context, output) + disable_tags(context, node.disabled_tags) do node.render_to_output_buffer(context, output) end rescue UndefinedVariable, UndefinedDropMethod, UndefinedFilter => e diff --git a/lib/liquid/tag.rb b/lib/liquid/tag.rb index c13b004..5e7cfde 100644 --- a/lib/liquid/tag.rb +++ b/lib/liquid/tag.rb @@ -13,8 +13,8 @@ module Liquid tag end - def disable_nested_tags(*tags) - @disabled_tags = tags + def disable_tags(*tags) + disabled_tags.push(*tags) end private :new diff --git a/lib/liquid/tags/render.rb b/lib/liquid/tags/render.rb index 16e8921..1403b58 100644 --- a/lib/liquid/tags/render.rb +++ b/lib/liquid/tags/render.rb @@ -4,7 +4,7 @@ module Liquid class Render < Tag SYNTAX = /(#{QuotedString})#{QuotedFragment}*/o - disable_nested_tags "include" + disable_tags "include" attr_reader :template_name_expr, :attributes diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index 265748d..a986d8d 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -104,6 +104,14 @@ module Liquid output end + def disabled?(_context, _output) + false + end + + def disabled_tags + [] + end + private def parse_filter_expressions(filter_name, unparsed_args) diff --git a/test/integration/registers/disabled_tags_test.rb b/test/integration/registers/disabled_tags_test.rb index 08a3047..1fb2458 100644 --- a/test/integration/registers/disabled_tags_test.rb +++ b/test/integration/registers/disabled_tags_test.rb @@ -6,11 +6,11 @@ class DisabledTagsTest < Minitest::Test include Liquid class DisableRaw < Block - disable_nested_tags "raw" + disable_tags "raw" end class DisableRawEcho < Block - disable_nested_tags "raw", "echo" + disable_tags "raw", "echo" end def test_disables_raw