Sha256: f43f0d598181966bae48e4bf7ccceccf01b95a366d58b4b9e6122f996cc558d9

Contents?: true

Size: 521 Bytes

Versions: 6

Compression:

Stored size: 521 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
    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

6 entries across 6 versions & 1 rubygems

Version Path
smallcage-0.3.2 lib/smallcage/renderer.rb
smallcage-0.3.1 lib/smallcage/renderer.rb
smallcage-0.3.0 lib/smallcage/renderer.rb
smallcage-0.2.9 lib/smallcage/renderer.rb
smallcage-0.2.8 lib/smallcage/renderer.rb
smallcage-0.2.7 lib/smallcage/renderer.rb