diff --git a/lib/liquid/tag.rb b/lib/liquid/tag.rb index 085c0efc..2f7bc301 100644 --- a/lib/liquid/tag.rb +++ b/lib/liquid/tag.rb @@ -14,12 +14,18 @@ module Liquid end def disable_tags(*tag_names) - @disabled_tags ||= [] - @disabled_tags.concat(tag_names) + tag_names += disabled_tags + define_singleton_method(:disabled_tags) { tag_names } prepend(Disabler) end private :new + + protected + + def disabled_tags + [] + end end def initialize(tag_name, markup, parse_context) diff --git a/lib/liquid/tag/disabler.rb b/lib/liquid/tag/disabler.rb index 210a177d..852205ab 100644 --- a/lib/liquid/tag/disabler.rb +++ b/lib/liquid/tag/disabler.rb @@ -3,14 +3,6 @@ module Liquid class Tag module Disabler - module ClassMethods - attr_reader :disabled_tags - end - - def self.prepended(base) - base.extend(ClassMethods) - end - def render_to_output_buffer(context, output) context.with_disabled_tags(self.class.disabled_tags) do super