2012/9/3 John Merlino <[email protected]> > The ActionView module is declared several times in the Rails source: > > rails/actionpack/lib/action_view/base.rb,rails/actionpack/lib/ > action_view/buffers.rb,rails/actionpack/lib/action_view/digestor.rb, > rails/actionpack/lib/action_view/helpers/asset_tag_helpers/ > asset_paths.rb, and the list goes on and on. > > How is it able to be declared like this in multiple files without the > previous definition of it being overwritten? > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > It's kind of > "metaprogramming<http://en.wikipedia.org/wiki/metaprogramming>—creating code at runtime that defines new methods. In fact, in a sense *all* Ruby programming is metaprogramming, since even a class definition is not a declaration as it is in Java but actually code that is executed at runtime. Given that this is true, you might wonder whether you can *modify* a class at runtime. In fact you can, by adding or changing instance methods or class methods, even for Ruby’s built-in classes".
This is citation from book Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing<http://www.amazon.com/dp/B006WU5G4C> -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

