class Liquid::Template::TagRegistry

Public Class Methods

new() click to toggle source
# File lib/liquid/template.rb, line 24
def initialize
  @tags  = {}
  @cache = {}
end

Public Instance Methods

[](tag_name) click to toggle source
# File lib/liquid/template.rb, line 29
def [](tag_name)
  return nil unless @tags.key?(tag_name)
  return @cache[tag_name] if Liquid.cache_classes

  lookup_class(@tags[tag_name]).tap { |o| @cache[tag_name] = o }
end
[]=(tag_name, klass) click to toggle source
# File lib/liquid/template.rb, line 36
def []=(tag_name, klass)
  @tags[tag_name]  = klass.name
  @cache[tag_name] = klass
end
delete(tag_name) click to toggle source
# File lib/liquid/template.rb, line 41
def delete(tag_name)
  @tags.delete(tag_name)
  @cache.delete(tag_name)
end
each(&block) click to toggle source
# File lib/liquid/template.rb, line 46
def each(&block)
  @tags.each(&block)
end

Private Instance Methods

lookup_class(name) click to toggle source
# File lib/liquid/template.rb, line 52
def lookup_class(name)
  Object.const_get(name)
end