- There is an interesting series of blog post called Off the Rails. First part was just about setting up Grape on pure Rack stack, so nothing fancy, bot recently released second part is about persistence and has quite a few interesting points. I did recently build a complete web stack on Grape + Sequel, so the idea is the same, but I didn’t manage to put it in the blog post. So read Paul’s blog instead.
Pattern matching has been something like a holy grail for Rubyists since “The Functional Revolution” started. Unfortunately, it’s not easy to get in in Ruby. Many have tried. Recently, the topic reemerged at RubyKaigi, where Yuki Torii presented her custom build of Ruby, supporting pattern-matching. Maybe there is a hope of having it baked into the language some day.
Meanwhile, we can have a look at other attempts to achieve something similar:
- dry-matcher is a solution from great dry.rb project. However, it’s very verbose and not really meant to be used on it’s own, rather being a building block for higher-level abstractions.
- pattern-match is quite old and has some interesting syntax ideas.
- RuboClaus renames patterns to clauses, but the idea is roughly the same.
- patme uses a lot of magic to have pattern matching using just normal Ruby syntax, without additional DSL.
- There is also my own approach, called Noaidi, which tries to borrow ideas from Erlang, mostly.
- I’m pretty sure you have never thought about writing your own filesystem. I certainly have not. Why? It sounds like a really low-level component and if I wanted to dig into those things, I’d have chosen C, not Ruby ;) But it turns out that writing filesystems is really easy. Even if Ruby. Intrigued? Watch Daniel Loureiro’s screencast about it and find out yourself.