Working with large controllers How many times have you encountered large controller methods? If you are lucky like me, probably many times. One of the most common practices to start refactoring a long controller is to move the code to a service. Services are great, and if we code them in an
Tag: Ruby on Rails
This is an introductory post to Phoenix, Elixir’s web framework. It is not intended to be a complete guide, but rather a quick primer if you’re interested in Phoenix and have a background in Rails and Ruby. I’ll explore the differences and similarities using a classic blog setup example, although
Introduction Software is constantly evolving, both in specification and implementation. Keeping an extensible and maintainable codebase is, therefore, crucial to deal with these changes quickly and easily. Ruby on Rails comes with a lot of good techniques and patterns out of the box that facilitates this. Nevertheless, some of these
If we want to write better and higher quality software, it is important we keep track of exceptions, crashes and errors happening in our environment, so we can deal with them. We, at Rootstrap, have created this OS exception tracking tool in order to ease the task of monitoring errors.
We usually try to solve performance problems by using #includes to get rid of N + 1 queries but this doesn’t always fix the issue; in fact, it can even create more queries under some circumstances. This post shows a few examples of when that happens and how to deal with it.
Are you new to Rails? Or maybe just looking for any cool gem to use in your new API? Here is a list of gems we have on our Rails API Base that we consider a must-have in every Rails API project.
Yet Another Active Form | Using form objects in Rails Apps Introducing Yet Another Active Form yaaf, a gem to ease the usage of the form object pattern in rails apps. Form Object Pain Points The form object pattern is widely used across Rails apps, and yet we tend to write
Introduction In the first part of this article we mentioned some important design principles and how they are not respected when overusing patterns and techniques that come with Ruby on Rails. In this part we will continue to investigate these and how we can mitigate the problems they cause to maintainability. Overused
When big development teams build an API, one of the main challenges that we face is being able to work together on different features while avoiding bottle-necks or other common issues such as conflicting perspectives or avoid overlapping efforts on particular features. Because of this, when we started working on
Introduction In the first part of this blog post we talked about how Rails and Phoenix compare on the web layer, if you haven’t read it go and check it out. Following on from that, we’ll see how data and the business layer are implemented on both frameworks. Migrations Let’s start