Class: Redwing::Renderer::RenderContext

Inherits:
Object
  • Object
show all
Defined in:
lib/redwing/renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(locals = {}) ⇒ RenderContext

Returns a new instance of RenderContext.



8
9
10
# File 'lib/redwing/renderer.rb', line 8

def initialize(locals = {})
  locals.each { |k, v| define_singleton_method(k) { v } }
end

Instance Method Details

#render(template, locals = {}) ⇒ Object



12
13
14
15
16
# File 'lib/redwing/renderer.rb', line 12

def render(template, locals = {})
  path = "#{Redwing.config.views_root}/#{template}.html.erb"
  erb = ERB.new(File.read(path))
  RenderContext.new(locals).render_with(erb)
end

#render_with(erb) ⇒ Object



18
19
20
# File 'lib/redwing/renderer.rb', line 18

def render_with(erb, &)
  erb.result(binding)
end