mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-29 07:05:12 -07:00
Make tag registry enumerable
This commit is contained in:
@@ -19,6 +19,8 @@ module Liquid
|
|||||||
@@file_system = BlankFileSystem.new
|
@@file_system = BlankFileSystem.new
|
||||||
|
|
||||||
class TagRegistry
|
class TagRegistry
|
||||||
|
include Enumerable
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@tags = {}
|
@tags = {}
|
||||||
@cache = {}
|
@cache = {}
|
||||||
@@ -41,6 +43,10 @@ module Liquid
|
|||||||
@cache.delete(tag_name)
|
@cache.delete(tag_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def each(&block)
|
||||||
|
@tags.each(&block)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def lookup_class(name)
|
def lookup_class(name)
|
||||||
|
|||||||
@@ -67,4 +67,10 @@ class TemplateUnitTest < Minitest::Test
|
|||||||
Template.tags.delete('fake')
|
Template.tags.delete('fake')
|
||||||
assert_nil Template.tags['fake']
|
assert_nil Template.tags['fake']
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_tags_can_be_looped_over
|
||||||
|
Template.register_tag('fake', FakeTag)
|
||||||
|
result = Template.tags.map { |name, klass| [name, klass] }
|
||||||
|
assert result.include?(["fake", "TemplateUnitTest::FakeTag"])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user