Hanami v0.9.0 Released
hanamirb.org
hanamirb.org
>Hanami components are decoupled each other. This level of separation allows you to use the ORM (data layer) of your choice. [0]
So indeed, one could use a preferred ORM. Yes the ORM looks a bit verbose and the part with the relations being experimental is a show stopper.
Ignoring all that, Hanami is quite nice architecturally speaking [1] it could evolve into the Phoenix of the Ruby ecosystem.
It seems the Ruby communities aren't interested in anything but Rails. Especially in US and Japan. I have only seen Hanami mentioned in EU conference.
IMHO, if popularity was a concern, Luca should have opted for a batteries included nosql ORM/DB with seemless integration. Couchdb and MongoDB would have made excellent candidates.
Anyone have commentary on why one would use this over another more mature framework?
For example, you can stub the repository and avoid persisting objects in tests, and only test persistence in the appropriate ones.
Or, you always know that operations you call on an entity won't touch the database, so you avoid a whole class of problems (think: accidental N+1 queries in a loop).
Or, by making the query interface private to the repository, you avoid accidental leakage of storage details (think: `default_scope` impacting associations)
I believe Ecto/Phoenix adopts a similar pattern http://www.phoenixframework.org/docs/models
Right now I've been using hanami-validations, which incorporates a bunch of dry-rb, in completely non-web projects and it's great. Functional, typed conversions are really comfortable and easy with dry-rb; my main beef is a lack of a good way to dump data back out into an interchange format (like, I'd like my types to be able to JSONify themselves), but that's relatively minor.