Sha256: 0c6a0acf23d76040764c326d821152b68f638172fb395f64282bb196d3ef76ea

Contents?: true

Size: 467 Bytes

Versions: 11

Compression:

Stored size: 467 Bytes

Contents

require "ostruct"
require "erb"

module Picasa
  class Template
    attr_reader :name, :params

    def initialize(name, params)
      @name   = name
      @params = params
    end

    def file
      @file ||= IO.read(::File.expand_path("../templates/#{name}.xml.erb", __FILE__))
    end

    def struct
      @struct ||= OpenStruct.new(params).extend(ERB::Util)
    end

    def render
      ERB.new(file).result(struct.instance_eval { binding })
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
picasa-0.9.1 lib/picasa/template.rb
picasa-0.9.0 lib/picasa/template.rb
picasa-0.8.0 lib/picasa/template.rb
picasa-0.7.5 lib/picasa/template.rb
picasa-0.7.4 lib/picasa/template.rb
picasa-0.7.3 lib/picasa/template.rb
picasa-0.7.2 lib/picasa/template.rb
picasa-0.7.1 lib/picasa/template.rb
picasa-0.7.0 lib/picasa/template.rb
picasa-0.6.7 lib/picasa/template.rb
picasa-0.6.6 lib/picasa/template.rb