I'm guessing it's to avoid naming conflicts when the module is
included in a class? I don't recall seeing this style in other Ruby
libraries (it harkens back to my C++ days), so I'm just wondering if
there's a particular purpose behind it; and whether people who look to
contribute code should be adopting this style, and in what situations.
We use @_ivars in cases where an instance variable is to be used internally in a module that will be mixed into a user’s class or a class that will be inherited by a user’s class.
For instance, we use @_ivars in ActionController::Base and modules mixed into ActionController::Base.
We use @_ivars in cases where an instance variable is to be used internally
in a module that will be mixed into a user's class or a class that will be
inherited by a user's class.
For instance, we use @_ivars in ActionController::Base and modules mixed
into ActionController::Base.
Thanks for the explanation, Yehuda. Sounds logical.
We use @_ivars in cases where an instance variable is to be used internally
in a module that will be mixed into a user’s class or a class that will be
inherited by a user’s class.
For instance, we use @_ivars in ActionController::Base and modules mixed
into ActionController::Base.
Thanks for the explanation, Yehuda. Sounds logical.
Jeff
FYI, other projects like Rack, Clearance also use the same coding style. It is good to see community following one set of guidelines. It just lowers the barrier to entry for a new developer from a different community and keeps the open source code kind of organised.