Slide 1

Slide 1 text

The Little Engines That Could RailsConf 2022 πŸš‚

Slide 2

Slide 2 text

πŸ‘‹ πŸ‘‹ πŸ‘‹ She/her Rails Developer : @minar528 Hi! I’m Mina!

Slide 3

Slide 3 text

The Little Engines That Could RailsConf 2022 Three ways to understanding πŸš‚

Slide 4

Slide 4 text

@minar528 RailsConf 2022 @minar528 πŸ’­

Slide 5

Slide 5 text

@minar528 RailsConf 2022 🀨

Slide 6

Slide 6 text

@minar528 RailsConf 2022 πŸš‚ πŸ‘€

Slide 7

Slide 7 text

@minar528 RailsConf 2022 πŸŽ‰ πŸš‚

Slide 8

Slide 8 text

@minar528 RailsConf 2022 πŸŽ™

Slide 9

Slide 9 text

@minar528 RailsConf 2022 πŸ”Ž

Slide 10

Slide 10 text

RailsConf 2022 @minar528

Slide 11

Slide 11 text

RailsConf 2022 @minar528 🀹

Slide 12

Slide 12 text

RailsConf 2022 @minar528 🀹

Slide 13

Slide 13 text

RailsConf 2022 @minar528 🀹

Slide 14

Slide 14 text

🀹 RailsConf 2022 @minar528 What is an engine? What are its bene f its?

Slide 15

Slide 15 text

🀹 RailsConf 2022 @minar528 What is an engine? What are its bene f its? What makes it unique? Types of engines?

Slide 16

Slide 16 text

🀹 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?

Slide 17

Slide 17 text

@minar528 RailsConf 2022 @minar528 @minar528 Level One Non-Technical

Slide 18

Slide 18 text

RailsConf 2022 @minar528 πŸ•΅

Slide 19

Slide 19 text

RailsConf 2022 @minar528 πŸš‚ πŸ•΅

Slide 20

Slide 20 text

RailsConf 2022 @minar528 πŸ•΅ πŸš‚ ❓

Slide 21

Slide 21 text

@minar528 RailsConf 2022

Slide 22

Slide 22 text

RailsConf 2022 @minar528

Slide 23

Slide 23 text

RailsConf 2022 @minar528

Slide 24

Slide 24 text

@minar528 RailsConf 2022 Cannot operate alone Both need hosts

Slide 25

Slide 25 text

@minar528 RailsConf 2022 Provides "superpowers" Both enhance their hosts

Slide 26

Slide 26 text

@minar528 RailsConf 2022 Multiple Hosts Both can integrate with and adapt to di ff erent hosts

Slide 27

Slide 27 text

RailsConf 2022 @minar528 Groot Rocket Drax

Slide 28

Slide 28 text

RailsConf 2022 @minar528 πŸ•΅ ⁉

Slide 29

Slide 29 text

@minar528 RailsConf 2022 Reusable Client wants to share the engine

Slide 30

Slide 30 text

@minar528 RailsConf 2022 Reduce scope Client wants to split up the system

Slide 31

Slide 31 text

@minar528 RailsConf 2022 Shorten test time Client wants to cut their test execution time

Slide 32

Slide 32 text

🀹 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?

Slide 33

Slide 33 text

🀹 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?

Slide 34

Slide 34 text

🀹 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?

Slide 35

Slide 35 text

@minar528 RailsConf 2022 @minar528 @minar528 Level Two Early-Career Devs

Slide 36

Slide 36 text

RailsConf 2022 @minar528

Slide 37

Slide 37 text

RailsConf 2022 @minar528 ⁉

Slide 38

Slide 38 text

RailsConf 2022 @minar528 πŸš‚ πŸš„ vs.

Slide 39

Slide 39 text

RailsConf 2022 @minar528 Rails::Application Rails::Engine πŸš‚ πŸš„ vs. πŸš‚ πŸš„ vs.

Slide 40

Slide 40 text

RailsConf 2022 @minar528 Rails::Application < Rails::Engine Rails::Engine πŸš‚ πŸš„ vs. πŸš‚ πŸš„ vs.

Slide 41

Slide 41 text

RailsConf 2022 @minar528 Rails::Application < Rails::Engine Also MVC Rails::Engine MVC πŸš‚ πŸš„ vs. πŸš‚ πŸš„ vs.

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

RailsConf 2022 @minar528 Rails::Application < Rails::Engine Also MVC Runs independently Gem f ile Rails::Engine MVC Nope. gemspec πŸš‚ πŸš„ vs. πŸš‚ πŸš„ vs.

Slide 45

Slide 45 text

RailsConf 2022 @minar528 πŸš‚ πŸ’Ž vs.

Slide 46

Slide 46 text

RailsConf 2022 @minar528 πŸ’Ž Packaged and published πŸš‚ vs. πŸš‚ vs.

Slide 47

Slide 47 text

RailsConf 2022 @minar528 πŸ’Ž Packaged and published CAN be packaged and published πŸš‚ vs. πŸš‚ vs.

Slide 48

Slide 48 text

RailsConf 2022 @minar528 πŸ’Ž Packaged and published CAN be packaged and published Rails only πŸš‚ vs. πŸš‚ vs.

Slide 49

Slide 49 text

RailsConf 2022 @minar528 πŸ’Ž Packaged and published Any Ruby project CAN be packaged and published Rails only πŸš‚ vs. πŸš‚ vs.

Slide 50

Slide 50 text

RailsConf 2022 @minar528 πŸš‚ πŸ”Œ vs.

Slide 51

Slide 51 text

RailsConf 2022 @minar528 πŸ”Œ Subset of πŸ”Œ πŸš‚ vs. Includes πŸš‚

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

RailsConf 2022 @minar528 Rails Guides β€œAn engine CAN be a plugin, and a plugin CAN be an engine.”

Slide 54

Slide 54 text

@minar528 RailsConf 2022 ❓

Slide 55

Slide 55 text

RailsConf 2022 @minar528 My PR to Rails documentation β€œAll engines are plugins, but not all plugins are engines.”

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

RailsConf 2022 @minar528

Slide 60

Slide 60 text

RailsConf 2022 @minar528

Slide 61

Slide 61 text

🀹 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? βœ…

Slide 62

Slide 62 text

🀹 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? βœ…

Slide 63

Slide 63 text

🀹 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? βœ…

Slide 64

Slide 64 text

@minar528 RailsConf 2022 @minar528 @minar528 Level Three Rails Devs New To Engines

Slide 65

Slide 65 text

RailsConf 2022 @minar528

Slide 66

Slide 66 text

RailsConf 2022 @minar528

Slide 67

Slide 67 text

RailsConf 2022 @minar528

Slide 68

Slide 68 text

RailsConf 2022 @minar528

Slide 69

Slide 69 text

RailsConf 2022 @minar528

Slide 70

Slide 70 text

RailsConf 2022 @minar528

Slide 71

Slide 71 text

RailsConf 2022 @minar528

Slide 72

Slide 72 text

RailsConf 2022 @minar528

Slide 73

Slide 73 text

RailsConf 2022 @minar528

Slide 74

Slide 74 text

RailsConf 2022 @minar528

Slide 75

Slide 75 text

RailsConf 2022 @minar528

Slide 76

Slide 76 text

RailsConf 2022 @minar528

Slide 77

Slide 77 text

RailsConf 2022 @minar528

Slide 78

Slide 78 text

RailsConf 2022 @minar528

Slide 79

Slide 79 text

RailsConf 2022 @minar528

Slide 80

Slide 80 text

RailsConf 2022 @minar528

Slide 81

Slide 81 text

RailsConf 2022 @minar528

Slide 82

Slide 82 text

RailsConf 2022 @minar528

Slide 83

Slide 83 text

@minar528 RailsConf 2022 πŸŽ‰

Slide 84

Slide 84 text

RailsConf 2022 @minar528

Slide 85

Slide 85 text

RailsConf 2022 @minar528

Slide 86

Slide 86 text

🀹 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? βœ…

Slide 87

Slide 87 text

🀹 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? βœ…

Slide 88

Slide 88 text

🀹 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? βœ…

Slide 89

Slide 89 text

@minar528 RailsConf 2022 πŸš‚ πŸ’•

Slide 90

Slide 90 text

@minar528 RailsConf 2022 RailsConf 2023?

Slide 91

Slide 91 text

RailsConf 2022 @minar528 πŸš‚ 🧰 πŸ›€

Slide 92

Slide 92 text

RailsConf 2022 @minar528 πŸš‚ 🧰 πŸ›€

Slide 93

Slide 93 text

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