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