class Kadim::MemoryResolver::TemplateStore

Constants

NAME_BLOCK
NO_TEMPLATES

usually a majority of template look ups return nothing, use this canonical preallocated array to save memory

PARTIAL_BLOCK
PREFIX_BLOCK
SmallCache

Public Class Methods

new() click to toggle source
# File lib/kadim/template/memory_resolver.rb, line 19
def initialize
  @data = SmallCache.new(&NAME_BLOCK)
end

Public Instance Methods

add(body, path, partial) click to toggle source
# File lib/kadim/template/memory_resolver.rb, line 27
def add(body, path, partial)
  name = path.split("/").last
  name = name[1..-1] if partial
  prefix = path.split("/")[0..-2].join("/")
  @data[name][prefix][partial] = body
end
clear() click to toggle source
# File lib/kadim/template/memory_resolver.rb, line 34
def clear
  @data.clear
end
find(name, prefix, partial) click to toggle source
# File lib/kadim/template/memory_resolver.rb, line 23
def find(name, prefix, partial)
  @data[name][prefix][partial].presence || NO_TEMPLATES
end