We tried using DHH's concerns in place for interactors, but ditched them for PORO/service objects because they can be tested outside Rails.
I don't like Concerns because usually they are just hiding behaviors in another file (I do like routing concerns though!). You can test Concerns outside of Rails though, all you need is ActiveSupport which actually loads quite fast. require 'active_support/concern' require 'my_cool_concern' class DummyClass include MyCoolConcern end
Or, perhaps, to turn this argument around, it's better to say it this way: A Concern is poorly-constructed if it cannot be tested in isolation, so therefore something like MyCoolConcern should be written with its testability (inside of DummyClass) in mind.