Listing out available variables in an ERB template

Hi All,

Suppose I have a Ruby ERB template named my_template.html.erb, and
it
contains the following:

<div><%= @div_1 %></div>
<div><%= @div_2 %></div>
<div><%= @div_3 %></div>

Is there a way I can programatically list out all the available
variables in
the template?

For example, the following method:

def list_out_variables
  template = File.open("path_to/my_template.html.erb", "rb").read
  erb = ERB.new( template )
  erb.this_method_would_list_out_variables
end

would return something like:

['div1','div2','div3']

Any help would be greatly appreciated.

Thanks,
Mike

On Sun, Sep 26, 2010 at 8:12 PM, [email protected] <
[email protected]> wrote:

in
would return something like:

[‘div1’,‘div2’,‘div3’]

Any help would be greatly appreciated.

Thanks,
Mike

Ruby has some reflexive methods you can use.

$gvar = 1
lvar = 2
@ivar = 3
class Foo
@@cvar = 4
end

p instance_variables
p global_variables
p local_variables
class Foo
p class_variables
end