Sha256: ed6b2c595669d4ba41dc0882a49a4c611664f02e7f38efa410a2d07a1ed7f2a0
Contents?: true
Size: 791 Bytes
Versions: 1
Compression:
Stored size: 791 Bytes
Contents
module Miam module TemplateHelper def include_template(template_name, context = {}) @template_name = template_name @caller = caller[0] tmplt = @context.templates[template_name.to_s] unless tmplt raise "Template `#{template_name}` is not defined" end context_orig = @context @context = @context.merge(context) instance_eval(&tmplt) @context = context_orig end def context @context end def required(*args) missing_args = args.map(&:to_s) - @context.keys.map(&:to_s) unless missing_args.empty? ex = ArgumentError.new("Missing arguments: [#{missing_args.join(", ")}] in template: '#{@template_name}'") ex.set_backtrace(@caller) raise ex end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
miam-0.2.5.beta1 | lib/miam/template_helper.rb |