I was a little puzzled tonight by this chunk of code that I found in the acts_as_authenticated plug-in module: def self.included(base)
base.send :helper_method, :current_user, :logged_in?
end
It comes down to some Ruby magic: when a module is included by a class the self.included method on the module is called. Likewise, when a class extends a module the self.extended method is called.
"base" is the class that includes/extends the module. "send" is calling the method ":helper_method" and passing ":current_user" and ":logged_in?" as parameters.
Special thanks to Juixe for an excellent article that helped me figure this out.
How Mixins, Include and Extend Work
Share This Post On: del.icio.us |
Digg |
Reddit |
Slashdot
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment