Inspired by Tim Riley’s year in review, I wanted to reflect a bit on what I did this year. It’s not going to be as impressive as his but I’m hoping it’ll serve as a way to push me forward into 2025. Work - CashApp I started 2024 working my third year...
A few weeks ago I was working on modelling set of relationships between very similar concepts so I evaluated the different alternatives that Active Records provides for this; Abstract classes, Single Table Inheritance (STI) and Delegated Types. I end...
I'm working on a personal project in which I'm trying to squeeze every ounce of features from Turbo and in doing so I found something that I thought was a bug. When going from a simple page that uses the scroll: preserve attribute (docs) and the defa...
Is that time of the year where I commit to being better, to be more present, to do more, to procrastinate less... you know... the whole New Year deal. One thing I want more of is more control over my time and social media doesn't help me do that. Spe...
In my last article, I published about the birth of AttributeBuidlers and since then I've worked some more on the project and decided that it was time to get it out there – even in its unfinished and incomplete form– in hopes that someone will try it ...
In the previous article, I said I believe splitting up the responsibility of building attributes from the actual rendering of HTML can open up many interesting possibilities. But the work to do so might not be that simple. I've been working on this o...
In the previous article, I mentioned that Action View has some component-like classes that render form elements. Let's deep dive into a simple one: Tags::TextField. This class is used in the FormBuilder like so (source): def text_field(object_name, m...
I've had this idea in the back of my head for a while that can potentially unlock a bunch of possibilities with Rails' Form Helpers. But to present it, I want to write about what you can do with them today, the limitations and what I want as a develo...
To finish this series we'll finally tackle this part of the car-sharing app we've been creating in this Action View Layouts series. To recap, in part 2 I described my process to uncover what the resources these screens show are and how these all fall...
In the first part of this series, we learnt how implicit rendering works to separate authenticated vs unauthenticated sections of an app. In this second part, we will learn how to use this technique to build interfaces for specific controllers. The a...
I love car-sharing services. It has allowed me to live car-free for the past three and a half years cutting down on maintenance, taxes, stress ... you name it. I can also book small cars for short rides, vans for moving stuff and larger, more comfort...