Upgrade to PRO for Only $50/Yearโ€”Limited-Time Offer! ๐Ÿ”ฅ

The Little Engines That Could

The Little Engines Thatย Could

Rails Engines. Itโ€™s more than just a cute name made up of two words both related to trains.

Are they plug-ins? Are they gems? When do we use them? How do we implement them? Why arenโ€™t they used more often?

Those are the questions I wish were answered for me when I first learned about Rails Engines. Inspired by Wiredโ€™s Explain In 5 Levels series, we will explore Rails Engines and address these quandaries using a variety of techniques, breaking down what engines are and how and when to use them.

Avatar for Mina Slater

Mina Slater

May 24, 2022
Tweet

Other Decks in Programming

Transcript

  1. ๐Ÿคน RailsConf 2022 @minar528 What is an engine? What are

    its bene f its? What makes it unique? Types of engines?
  2. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What is an engine? What are its bene f its? What makes it unique? Types of engines?
  3. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What is an engine? What are its bene f its? What makes it unique? Types of engines?
  4. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What is an engine? โœ… What are its bene f its? What makes it unique? Types of engines?
  5. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What is an engine? โœ… What are its bene f its? โœ… What makes it unique? Types of engines?
  6. RailsConf 2022 @minar528 Rails::Application < Rails::Engine Also MVC Runs independently

    Rails::Engine MVC ๐Ÿš‚ ๐Ÿš„ vs. ๐Ÿš‚ ๐Ÿš„ vs.
  7. RailsConf 2022 @minar528 Rails::Application < Rails::Engine Also MVC Runs independently

    Rails::Engine MVC Nope. ๐Ÿš‚ ๐Ÿš„ vs. ๐Ÿš‚ ๐Ÿš„ vs.
  8. RailsConf 2022 @minar528 Rails::Application < Rails::Engine Also MVC Runs independently

    Gem f ile Rails::Engine MVC Nope. gemspec ๐Ÿš‚ ๐Ÿš„ vs. ๐Ÿš‚ ๐Ÿš„ vs.
  9. RailsConf 2022 @minar528 ๐Ÿ’Ž Packaged and published CAN be packaged

    and published Rails only ๐Ÿš‚ vs. ๐Ÿš‚ vs.
  10. RailsConf 2022 @minar528 ๐Ÿ’Ž Packaged and published Any Ruby project

    CAN be packaged and published Rails only ๐Ÿš‚ vs. ๐Ÿš‚ vs.
  11. RailsConf 2022 @minar528 ๐Ÿ”Œ Subset of ๐Ÿ”Œ Use with Rails

    ๐Ÿš‚ vs. Includes ๐Ÿš‚ Use with Rails
  12. RailsConf 2022 @minar528 Rails Guides โ€œAn engine CAN be a

    plugin, and a plugin CAN be an engine.โ€
  13. RailsConf 2022 @minar528 My PR to Rails documentation โ€œAll engines

    are plugins, but not all plugins are engines.โ€
  14. RailsConf 2022 @minar528 ๐Ÿ”Œ Subset of ๐Ÿ”Œ Use with Rails

    MVC ๐Ÿš‚ vs. Includes ๐Ÿš‚ Use with Rails
  15. RailsConf 2022 @minar528 ๐Ÿ”Œ Subset of ๐Ÿ”Œ Use with Rails

    MVC ๐Ÿš‚ vs. Includes ๐Ÿš‚ Use with Rails Model-level modi f ications
  16. RailsConf 2022 @minar528 ๐Ÿ”Œ Subset of ๐Ÿ”Œ Use with Rails

    MVC ๐Ÿš‚ vs. Includes ๐Ÿš‚ Use with Rails Model-level modi f ications
  17. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What makes it unique? Types of engines? What is an engine? โœ… What are its bene f its? โœ…
  18. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What makes it unique? โœ… Types of engines? What is an engine? โœ… What are its bene f its? โœ…
  19. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test?

    What makes it unique? โœ… Types of engines? โœ… What is an engine? โœ… What are its bene f its? โœ…
  20. ๐Ÿคน RailsConf 2022 @minar528 How to implement? How to test

    & mount? What makes it unique? โœ… Types of engines? โœ… What is an engine? โœ… What are its bene f its? โœ…
  21. ๐Ÿคน RailsConf 2022 @minar528 How to implement? โœ… How to

    test & mount? What makes it unique? โœ… Types of engines? โœ… What is an engine? โœ… What are its bene f its? โœ…
  22. ๐Ÿคน RailsConf 2022 @minar528 What makes it unique? โœ… Types

    of engines? โœ… What is an engine? โœ… What are its bene f its? โœ… How to implement? โœ… How to test & mount? โœ…
  23. RailsConf 2022 @minar528 THANK YOU! ๐Ÿฅฐ ๐Ÿ–‹ http://minaslater.blog ๐ŸŽ™ โ€œYour

    TDD Treasure Mapโ€ - Aji Slater ๐ŸŽ™ โ€œCome On In! Making Yourself At Home In A New Codebaseโ€ - Mercedes Bernard