3 ms·
Lets say a PR can go from: Draft->Closed/Abandoned Draft->In Review Changes Requested->In Review I'm not sure "assign reviewer" would fit either in Draft.ex
by anonymous_sorry 4y ago
Lets say a PR can go from:
Draft->Closed/Abandoned
Draft->In Review
Changes Requested->In Review
I'm not sure "assign reviewer" would fit either in Draft.exit() or InReview.entry(). I guess you'd implement something like "ensure reviewer assigned" in InReview.entry() instead. Which would work, but would itself contain the sort of state-dependent logic that a state machine is meant to surface.
- thebruce87m 4y agoPutting it in the entry is probably what I’d do, or I’d split the “InReview” state into its own sub state machine. It’s hard to reason exactly with imaginary scenarios though.