Sha256: ae9b49c81ce665bc66c87ba278ec908794480ce66d3b86cc4bc3db3ff4b96dd6

Contents?: true

Size: 531 Bytes

Versions: 3

Compression:

Stored size: 531 Bytes

Contents

class SmallCage::Renderer
  attr_reader :current_template

  def initialize(loader)
    @loader = loader
  end

  def render(name, obj)
    path = @loader.template_path(name)
    return nil if path.nil?
    @current_template = path
    return render_string(path.read, obj)
  end
    
  def render_string(str, obj)
    erb_class = ERB.new(str, nil, '-', '@erbout').def_class(@loader.erb_base, "erb")
    return erb_class.new(@loader, self, obj).erb
  rescue => e
    STDERR.puts "Can't render: #{obj["uri"]}"
    raise e
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
smallcage-0.2.4 lib/smallcage/renderer.rb
smallcage-0.2.3 lib/smallcage/renderer.rb
smallcage-0.2.2 lib/smallcage/renderer.rb