# Include web-pipe in hanami 2 stack

**URL:** <https://discourse.hanakai.org/t/include-web-pipe-in-hanami-2-stack/531>\
**Category:** proposals\
**Created:** [October 24, 2019, 5:43pm UTC](https://discourse.hanakai.org/t/include-web-pipe-in-hanami-2-stack/531 "2019-10-24T17:43:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![waiting-for-dev](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.hanakai.org/waiting-for-dev/32/415_2.png) [@waiting-for-dev](https://discourse.hanakai.org/u/waiting-for-dev)\
**Post date:** [October 24, 2019, 5:43pm UTC](https://discourse.hanakai.org/t/include-web-pipe-in-hanami-2-stack/531/1 "2019-10-24T17:43:44Z")

</div>

Hi there!

I know that I’m quite late to the party, but at the same time I know that, once v2.0 is released, something like this proposal will be impossible to integrate due to massive breaking changes (and v3.0 seems too far right now :)). So I decided that at least I would try!

IMHO, one of the best things that has happened to the Ruby community is hanami and dry-rb working together. Having all the small pieces dry-rb provides integrated in a full featured framework like hanami is simple gorgeous.

Some months ago I managed to convince my boss to use dry-rb in one middle sized project. It has been a very nice experience. I used dry-web-roda stack and I liked it very much. I found that everything plaid smoothly except for one part: roda. Even when Jeremy Evans has made an excellent job with it, I just felt that its philosophy was too much different from dry-rb and that this friction was very noticeable when considering the app as a whole (router/actions coupling, mutability, lack of simple integration with dry-rb…). For this reason I decided to develop [web\_pipe](https://github.com/waiting-for-dev/web_pipe) as a replacement for roda in my stack. I developed it with dry-rb in mind, so it plays really nice with the ecosystem even if it doesn’t depend on it.

web\_pipe is the equivalent of hanami-controller, so there is still a router missing. However, I found that hanami-router was just perfect.

What I’d like to see is web\_pipe being part of the full-framework picture that hanami offers. It already [plays very well](https://github.com/waiting-for-dev/web_pipe/blob/master/docs/recipes/hanami_router_integration.md) with hanami-router, but it could be even improved by using a convention like the one in use for resolving hanami actions (`controller#action`) but in this case to resolve web\_pipe apps from an IoC container. It also has integrations with dry-schema and dry-view. The role of hanami would include here configuring them automatically. I already did something similar in [dry-web-web\_pipe](https://github.com/waiting-for-dev/dry-web-web_pipe), which is like dry-web-roda but switching pieces.

I know hanami v2 is near and that I haven’t a lot of chances, but I’d like just to ask for five minutes of your time to read a bit of the docs. Of course, I’d be more than happy to do the integration work in hanami. The nice thing of web\_pipe is not only the dry-rb integration, but its design model. It’s a one way pipe application builder, same one that is used in Elixir’s [plug](https://github.com/elixir-plug/plug) with great success for small and large projects. Of course, functional programming is another core concept in web\_pipe.

Well, thanks for your time whatever we end up doing 🙂
