Parent

Methods

Files

ERB::OpenTemplate

OpenTemplate

The Erb OpenTemplate provides a quick and convenient way to create a clean rendering space with the desired responses.

Ruby 1.8.6 or less can't handle object scope methods with blocks.

TODO: This might make a good addon library. Just add require 'erb' to the erb_result method? Call it OpenResponse?

Public Class Methods

new(*objs_ioc) click to toggle source
# File lib/facets/standard/facets/erb.rb, line 21
def initialize(*objs_ioc)
  ioc = Hash===objs_ioc.last ? objs_ioc.pop : {}
  objs = objs_ioc

  mods = []

  objs.each do |obj|
    mod = Module.new
    obj.public_methods.each do |m|
      mod.module_eval do
        #define_method(m){ |*a,&b| obj.__send__(m,*a,&b) }
        define_method(m, &obj.method(m).to_proc)
      end
    end
    mods << mod
  end

  mod = Module.new
  ioc.each do |k,v|
    mod.module_eval do
      define_method(k){ v }
    end
  end
  mods << mod

  extend *mods.reverse
end

Public Instance Methods

erb_result(str) click to toggle source
# File lib/facets/standard/facets/erb.rb, line 50
def erb_result(str)
  ERB.new(str).result(binding)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.