Hello! This issue will be dominated by the fact that last weekend I attended awesome wroc_love.rb conference. Besides listening to some really good talks, I also learned (or was reminded) about a couple of really cool gems I want to share with you:
- Eventide – it is a complete solution for Event Sourcing in Ruby, supporting Event Store and PostgreSQL as backend
- We all know about ActionCable in Rails, most of us also know that AnyCable is soooo much better for the task. However, what I did not know that there is a compatible replacement for non-Rails Rack applications called LiteCable. So, all your Hanami-, Sinatra-, dry-web- and what-not-based app can have it.
- Plezi is another, quite different, option for having Ruby-powered websocket-heavy application. It’s not a web framework per se, just for real time.
- Plezi is based on Iodine – a webserver for HTTP and WebSockets, heavily optimized for running on Linux.
- oop-interface – interfaces were kind of a holy grail for years in Ruby world (similar to pattern matching lately). This is another attempt to make something similar. At first look I don’t like it much, but maybe someone will find it more useful.
- Interface gem is not new. It has been around for some time and I knew it. However I never dug deep enough to find out that is has a thing called “Organizers” to make more complex workflows with interactors and has ability to define a rollback function for them. Sounds very cool.
- Nihilist is a gem with convenience structure for null objects. However, it is so simple that you might be better off with just copying into your codebase, instead of including a gem.
- Heapy – a gem for inspecting Ruby heap dumps. Very useful when you’re trying to track some memory leak.
Also, not a gem, but spotted at the conference, there is a Gem Check project, that aims at providing a checklist for gem authors on how to make your library as good as possible. This is a really good effort and in case you author some gems, you need to at least read it.