What is Ruby doing on Rails?
Hello, you're reading Infinum Ruby Drops, bringing you the latest Ruby and Rails related news straight to your inbox every week.
Infinum Server-Side Talks #11
After a lengthy break, Server-Side Talks are back with no less than three presentations! Get away from the gloomy November weather and join us in learning how you can create your own OAuth provider, how you can let your users set their own event schedules with Elixir and what agile can do for you when you are faced with real-world uncertainties. As always, there will be beer 🙂
Read More
Rails
Recently, I needed to add a “Download all” button in a Rails application for managing meeting assets. Specifically, this magic button would allow attendees to download all the meeting documents in a single zip file.
Sometimes you just need to send a lot of emails, and services that make it really simple can get too expensive. Here is how we sent an e-mail to all our users and what we learnt.
Rails 6 adds email_address_with_name to ActionMailer to properly escape email addresses with names.
Ruby
Where we look at lessons learned in monitoring and performance, and go through some things that seem simple at first, but turn out to be a bit more complex.

One of the most interesting for me features of the upcoming Ruby 2.7 is the syntax sugar for the method reference. I like using the #method method together with the #then (#yield_self) operator in order to compose several functions in a “pipeline” like fashion.
Beyond Ruby

The financial metaphor is often thrown around engineering departments, but how do you actually deal with it?

Code review is such a high value, high leverage team activity that every manager should ensure the process is done well.

Here are some tips that we use to ensure that our team is using Slack to improve efficiency while nurturing a culture of trust.
Refactoring has a specific meaning. When we misuse the word, we lose the ability to communicate an important concept. Let’s revisit what refactoring is and what it is not.
Blast from the past
Jez Humble designed a simple, three-part certification test for people doing Continuous Integration. Few pass it.
It can happen: sometimes you need to severely curtail access to a resource. Maybe you use a 3rd party API where you can only make one call at a time. To handle this extreme case, you need an extreme tool: a distributed lock.
Gem of the week
Make full request logs accessible via a web UI.