Class: CanvasSync::JobBatches::RedisScript::TemplateContext

Inherits:
Object
  • Object
show all
Defined in:
lib/canvas_sync/job_batches/redis_script.rb

Instance Method Summary collapse

Constructor Details

#initialize(script_path) ⇒ TemplateContext

Returns a new instance of TemplateContext.



70
71
72
# File 'lib/canvas_sync/job_batches/redis_script.rb', line 70

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

Parameters:

  • relative_path (String)

    the relative path to the script from ‘script_path`



83
84
85
86
87
88
# File 'lib/canvas_sync/job_batches/redis_script.rb', line 83

def include_partial(relative_path)
  unless @partial_templates.has_key? relative_path
    @partial_templates[relative_path] = nil
    template( Pathname.new("#{@script_path}/#{relative_path}") )
  end
end

#template(pathname) ⇒ Object



74
75
76
77
# File 'lib/canvas_sync/job_batches/redis_script.rb', line 74

def template(pathname)
  @partial_templates ||= {}
  ERB.new(File.read(pathname)).result binding
end