I’ve seen a few projects using the interactor pattern and it always was a pain in the ass. The chaining suffers from being intransparent. And like you said, the gem itself does not do much. And it often reads terrible, like AuthorComment.call(author: author, text: text) compared to an interface like author.comment(text)
And there are other drawbacks with the interactor approach.
I agree, we don’t want business logic in controllers or models. This is already an old story. But there is nothing bad with PORO services. As long as you know where to draw the line; means what’s the responsibility of a service.
The result can be a way more beautiful code.