founder of Super Good Software • software developer • rubyist • Solidus expert • metalhead • bad at hockey • runner • dog lover • not actually grumpy • he/him
The term "service object" is pretty overloaded and means a lot of things to different people, but it's still my goto technique for managing this particular kind of complexity.
Alternatively, if you app is still very CRUD-y, wrapping things like "address creation" in their own special ActiveModel::Model object can be really nice since you can still interact with it roughly the same way you would any other resource. It's certainly a nice option especially for less complex apps that don't necessarily have a preferred pattern for pulling out logic into POROs.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
The term "service object" is pretty overloaded and means a lot of things to different people, but it's still my goto technique for managing this particular kind of complexity.
Alternatively, if you app is still very CRUD-y, wrapping things like "address creation" in their own special
ActiveModel::Model
object can be really nice since you can still interact with it roughly the same way you would any other resource. It's certainly a nice option especially for less complex apps that don't necessarily have a preferred pattern for pulling out logic into POROs.