September 3, 2008

Ruby include, extend, require and load explained

The Ruby ‘include’ statement references to a named module; it appends features of a module into classes or other modules.  

‘extend’ adds the features of a module to one instance (object) at run-time

‘require’ is used for loading nonmodule Ruby sources and binaries.  ’require’ is similar to a ‘load’ ,but it will not load a file if it has already been loaded.

‘include’ and ‘require’ are essentially unrelated.  You may need to do a require follow by an include to use some externally stored module.