Class Erubis::Context
In: lib/erubis/context.rb
Parent: Object
Eruby\n[lib/erubis/engine/eruby.rb\nlib/erubis/helpers/rails_helper.rb] PreprocessingEruby XmlEruby HeaderFooterEruby PrintEnabledEruby StdoutEruby FastEruby\n[lib/erubis/engine/eruby.rb\nlib/erubis/helpers/rails_helper.rb] StringBufferEruby BiPatternEruby InterpolationEruby PercentLineEruby PrintOutSimplifiedEruby NoTextEruby ErboutEruby StringIOEruby ArrayEruby PrintOutEruby SimplifiedEruby EscapedEruby DeleteIndentEruby StdoutSimplifiedEruby NoCodeEruby ArrayBufferEruby PreprocessingEruby OptimizedEruby Engine Ejava Ephp Eperl Ec Ejavascript Escheme EscapedEjava EscapedEphp EscapedEc OptimizedXmlEruby EscapedEperl EscapedEjavascript EscapedEscheme ErubisError NotSupportedError CommandOptionError Enumerable Context StandardError RubyEvaluator Eruby RubyGenerator PI::Engine Ejava Eperl Ec Ejavascript Escheme Ephp JavaGenerator Evaluator Engine PI::Converter Generator PerlGenerator CGenerator JavascriptGenerator SchemeGenerator PhpGenerator Basic::Converter Main Engine TinyEruby TinyEruby lib/erubis/engine/escheme.rb lib/erubis/engine/ec.rb lib/erubis/engine/eperl.rb lib/erubis/engine/eruby.rb lib/erubis/engine/ephp.rb lib/erubis/helpers/rails_helper.rb lib/erubis/preprocessing.rb lib/erubis/error.rb lib/erubis/engine/ejava.rb lib/erubis/engine/ejavascript.rb lib/erubis/context.rb lib/erubis/engine/optimized.rb lib/erubis/main.rb lib/erubis/engine/enhanced.rb lib/erubis/engine.rb lib/erubis/tiny.rb NoCodeEnhancer ArrayBufferEnhancer Generator StringBufferEnhancer OptimizedGenerator SchemeGenerator lib/erubis/engine/escheme.rb lib/erubis/engine/ec.rb lib/erubis/engine/eperl.rb lib/erubis/engine/eruby.rb lib/erubis/engine/ephp.rb lib/erubis/engine/ejava.rb lib/erubis/engine/ejavascript.rb lib/erubis/engine.rb lib/erubis/tiny.rb Converter PI SimplifyEnhancer StdoutEnhancer Converter lib/erubis/helpers/rails_helper.rb TemplateConverter RailsHelper RailsFormHelper Helpers XmlHelper HeaderFooterEnhancer RubyGenerator PhpGenerator CGenerator lib/erubis/engine.rb Converter Basic PreprocessingHelper Evaluator BiPatternEnhancer PrintEnabledEnhancer PerlGenerator JavascriptGenerator PercentLineEnhancer NoTextEnhancer ErboutEnhancer PrintOutEnhancer EscapeEnhancer JavaGenerator DeleteIndentEnhancer StringIOEnhancer ArrayEnhancer RubyEvaluator InterpolationEnhancer Erubis dot/m_23_0.png

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)

Methods

[]   []=   each   keys   new   to_hash   update  

Included Modules

Enumerable

Public Class methods

[Source]

    # File lib/erubis/context.rb, line 34
34:     def initialize(hash=nil)
35:       hash.each do |name, value|
36:         self[name] = value
37:       end if hash
38:     end

Public Instance methods

[Source]

    # File lib/erubis/context.rb, line 40
40:     def [](key)
41:       return instance_variable_get("@#{key}")
42:     end

[Source]

    # File lib/erubis/context.rb, line 44
44:     def []=(key, value)
45:       return instance_variable_set("@#{key}", value)
46:     end

[Source]

    # File lib/erubis/context.rb, line 52
52:     def each
53:       instance_variables.each do |name|
54:         key = name[1..-1]
55:         value = instance_variable_get(name)
56:         yield(key, value)
57:       end
58:     end

[Source]

    # File lib/erubis/context.rb, line 48
48:     def keys
49:       return instance_variables.collect { |name| name[1..-1] }
50:     end

[Source]

    # File lib/erubis/context.rb, line 60
60:     def to_hash
61:       hash = {}
62:       self.keys.each { |key| hash[key] = self[key] }
63:       return hash
64:     end

[Source]

    # File lib/erubis/context.rb, line 66
66:     def update(context_or_hash)
67:       arg = context_or_hash
68:       if arg.is_a?(Hash)
69:         arg.each do |key, val|
70:           self[key] = val
71:         end
72:       else
73:         arg.instance_variables.each do |varname|
74:           key = varname[1..-1]
75:           val = arg.instance_variable_get(varname)
76:           self[key] = val
77:         end
78:       end
79:     end

[Validate]