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.

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

    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
OSZAR »