class Brpoplpush::RedisScript::Template

Class Template provides LUA script partial template rendering

@author Mikael Henriksson <mikael@mhenrixon.com>

Public Class Methods

new(script_path) click to toggle source
# File lib/brpoplpush/redis_script/template.rb, line 16
def initialize(script_path)
  @script_path = script_path
end

Public Instance Methods

include_partial(relative_path) click to toggle source

helper method to include a lua partial within another lua script

# File lib/brpoplpush/redis_script/template.rb, line 35
def include_partial(relative_path)
  return if @partial_templates.key?(relative_path)

  @partial_templates[relative_path] = nil
  render(Pathname.new("#{@script_path}/#{relative_path}"))
end
render(pathname) click to toggle source

Renders a Lua script and includes any partials in that file

all `<%= include_partial '' %>` replaced with the actual contents of the partial

@param [Pathname] pathname the path to the

@return [String] the rendered Luascript

# File lib/brpoplpush/redis_script/template.rb, line 28
def render(pathname)
  @partial_templates ||= {}
  ::ERB.new(File.read(pathname)).result(binding)
end