Class | Erubis::Context |
In: |
erubis/context.rb
|
Parent: | Object |
context object for Engine#evaluate
ex.
template = <<'END' Hello <%= @user %>! <% for item in @list %> - <%= item %> <% end %> END context = Erubis::Context.new(:user=>'World', :list=>['a','b','c']) # or # context = Erubis::Context.new # context[:user] = 'World' # context[:list] = ['a', 'b', 'c'] eruby = Erubis::Eruby.new(template) print eruby.evaluate(context)
# File erubis/context.rb, line 33 def initialize(hash=nil) hash.each do |name, value| self[name] = value end if hash end
# File erubis/context.rb, line 43 def []=(key, value) return instance_variable_set("@#{key}", value) end
# File erubis/context.rb, line 51 def each instance_variables.each do |name| key = name[1..-1] value = instance_variable_get(name) yield(key, value) end end
# File erubis/context.rb, line 47 def keys return instance_variables.collect { |name| name[1..-1] } end
# File erubis/context.rb, line 59 def to_hash hash = {} self.keys.each { |key| hash[key] = self[key] } return hash end