Class | Puppet::Parser::TemplateWrapper |
In: |
lib/puppet/parser/templatewrapper.rb
|
Parent: | Object |
file | [R] | |
scope | [W] | |
string | [RW] |
Ruby treats variables like methods, so we used to expose variables within scope to the ERB code via method_missing. As per RedMine 1427, though, this means that conflicts between methods in our inheritance tree (Kernel#fork) and variable names (fork => "yes/no") could arise.
Worse, /new/ conflicts could pop up when a new kernel or object method was added to Ruby, causing templates to suddenly fail mysteriously when Ruby was upgraded.
To ensure that legacy templates using unqualified names work we retain the missing_method definition here until we declare the syntax finally dead.