Class: Brpoplpush::RedisScript::Template
- Inherits:
-
Object
- Object
- Brpoplpush::RedisScript::Template
- Defined in:
- lib/brpoplpush/redis_script/template.rb
Overview
Class Template provides LUA script partial template rendering
Instance Method Summary collapse
-
#include_partial(relative_path) ⇒ Object
helper method to include a lua partial within another lua script.
-
#initialize(script_path) ⇒ Template
constructor
A new instance of Template.
-
#render(pathname) ⇒ String
Renders a Lua script and includes any partials in that file all ‘<%= include_partial ” %>` replaced with the actual contents of the partial.
Constructor Details
#initialize(script_path) ⇒ Template
Returns a new instance of Template.
16 17 18 |
# File 'lib/brpoplpush/redis_script/template.rb', line 16 def initialize(script_path) @script_path = script_path end |
Instance Method Details
#include_partial(relative_path) ⇒ Object
helper method to include a lua partial within another lua script
35 36 37 38 39 40 |
# 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) ⇒ String
Renders a Lua script and includes any partials in that file
all `<%= include_partial '' %>` replaced with the actual contents of the partial
28 29 30 31 |
# File 'lib/brpoplpush/redis_script/template.rb', line 28 def render(pathname) @partial_templates ||= {} ::ERB.new(File.read(pathname)).result(binding) end |