Modules are wonderfully flexible language constructs which can be applied to a wide variety of use cases, such as namespacing, inheritance, and decorating. However, some developers are still confused about how modules work and how they interact with their own code. These slides aims to shed some light on Modules and their usage.
Presentation made from - https://www.sitepoint.com/get-the-low-down-on-ruby-modules/