Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

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

    Gem f ile Rails::Engine MVC Nope. gemspec 🚂 🚄 vs. 🚂 🚄 vs.
  7. RailsConf 2022 @minar528 💎 Packaged and published Any Ruby project

    CAN be packaged and published Rails only 🚂 vs. 🚂 vs.
  8. RailsConf 2022 @minar528 🔌 Subset of 🔌 Use with Rails

    🚂 vs. Includes 🚂 Use with Rails
  9. RailsConf 2022 @minar528 Rails Guides “An engine CAN be a

    plugin, and a plugin CAN be an engine.”
  10. RailsConf 2022 @minar528 My PR to Rails documentation “All engines

    are plugins, but not all plugins are engines.”
  11. RailsConf 2022 @minar528 🔌 Subset of 🔌 Use with Rails

    MVC 🚂 vs. Includes 🚂 Use with Rails
  12. RailsConf 2022 @minar528 🔌 Subset of 🔌 Use with Rails

    MVC 🚂 vs. Includes 🚂 Use with Rails Model-level modi f ications
  13. RailsConf 2022 @minar528 🔌 Subset of 🔌 Use with Rails

    MVC 🚂 vs. Includes 🚂 Use with Rails Model-level modi f ications
  14. 🤹 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? ✅
  15. 🤹 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? ✅
  16. 🤹 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? ✅
  17. 🤹 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? ✅
  18. 🤹 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? ✅
  19. 🤹 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? ✅
  20. 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