Sha256: 945f426e5bf28a14b48645f66839602e9dd21fe73017324be6067b1c20325c7e

Contents?: true

Size: 527 Bytes

Versions: 2

Compression:

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

2 entries across 2 versions & 1 rubygems

Version Path
smallcage-0.2.6 lib/smallcage/renderer.rb
smallcage-0.2.5 lib/smallcage/renderer.rb