Currently writing about: AWS, React.js, Node.js, TypeScript, friction logs.
50 Days of Ruby
Blog series
Why the '!' in Ruby is so important to conquer and real-world implications.
3 min read
This guide will alleviate questions that new Rubyists have around monkey patching and how it works in Ruby.
9 min read
See how you can update your new Ruby on Rails 7 project to use HTM and React without a Node.js setup.
6 min read
Set up a new Rails 7 project with ESBuild that has TypeScript support out-of-the-box.
4 min read
Follow along as we build out a skeleton Rails 7 server that enables us to use GraphQL.
7 min read
See how we can use the Dry RB gems dry-matcher and dry-monads to clean up our Ruby code.
7 min read
A look at how we can implement a Railsy-way of the Repository Pattern in our Rails apps.
10 min read
Continuing on with our project, the next step is to add in dry-validation and dry-monads to help tidy up our code.
16 min read
At this stage of the project, we are introducing Factory Bot to help replace the default fixtures so we can test our PostsRepository code.
11 min read
Dive head-first into using Action Cable with Rails 7 and setup a basic React project that can handle web sockets.
8 min read
Continuing on from the last post, we introduce Redux to handle our remote messages and perform actions on our React.js application.
8 min read
Implement simple pagination mechanisms using the Kaminari gem with Ruby on Rails 7.
9 min read
An entry-level introduction to setting up the Rails cache and seeing it in action with Redis in development.
6 min read
A demonstration on getting a local development environment going with Sidekiq and Redis to run a simple demonstration job in Rails 7.
7 min read
This is the first of two posts that will look at rate limiting in Rails application. This post will focus on the rack-throttle gem and its usage with Redis.
6 min read
In the second of two posts, we look at setting up rate-limiting with the rack-attack gem to see how we can limit requests to our API.
10 min read
In part one of this six part series on Devise and Ruby on Rails, we demonstrate setting up Devise for Rails 7 with a basic sign up and login flow.
5 min read
In part two of our Devise series, we look at how we can replace the default cookie session store with Redis.
3 min read
In part three of the series, we walk through how to add TailwindCSS to a Rails 7 project and spruce up our sign in page.
4 min read
In part four, we add in a separate Next.js project into the mix and demonstrate how to organize authentication for our main Rails API.
9 min read
In part five, we set up the OmniAuth configuration for Devise to demonstrate login using GitHub.
7 min read
In part six, we enforce the usage of reCAPTCHA v2 to prevent signing up or logging in without passing the reCAPTCHA verification.
6 min read
Follow the basics to send an email using a Postmark template and view it in the browser during development.
13 min read
This post will demonstrate how to benchmark and compare code to help us better understand the performance of our Ruby code.
3 min read
For this part, we look at setting up some helpers for us to log users in when writing controller tests.
6 min read
This post looks at how we outline required policies in order to fulfill requests in Ruby on Rails using the Pundit gem.
10 min read
In part nine, we take a look at how we can set up our API endpoints to return a 401 response if a user is not signed in instead of the default 302 redirect to the login page.
6 min read
An intro into Ruby memoization with the memoization operator and the Memoist gem.
4 min read
See how to setup SimpleCov for your RSpec tests in a simple Ruby setup and then implement a GitHub Action to comment the coverage results in a pull request.
5 min read
ActiveAdmin is a powerful gem to help us generate admin panels for our internal usage for Rails applications. This post will cover the basics of getting up and running with ActiveAdmin and Ruby on Rails 7.
5 min read
See how the FriendlyID gem makes it simple to convert you URLs into something more useful and friendly with Rails 7.
5 min read
This post is a reflection on my first look at using Ahoy analytics in a Rails 7 application.
4 min read
In part ten of the Devise series, we start a new project from scratch to explore how the devise-token-auth gem can be setup with a Rails 7 application.
4 min read
In part eleven of the Devise series, we continue on with the previous project to add the capability of authenticating to a public API using authentication tokens with Doorkeeper.
7 min read
In this post, we go through all six of the possible Rails associations with visualizations to help us understand what associations are supported and how they work in Rails 7.
9 min read
Following up on the previous post, we will be looking at the last through associations that come baked into Rails.
5 min read
In this short post, see how you can visualize your domain model quickly using the rails-erd gem.
1 min read
In this short overview, see how RSpec can be incorporated into your GitHub Actions workflows.
3 min read
In this short overview, see how MiniTest can be incorporated into your GitHub Actions workflows.
4 min read
In this post we will take our basic code from the previous exercises and package it up as a Ruby gem to install in other projects.
2 min read
In part two of the Ruby gem series, we will take the gem we created in the previous part and deploy it to RubyGems.
3 min read
In the final part of the Ruby Gem series, we will be automating the deployment of our recently created gem using GitHub Actions.
6 min read
See how to upload files to ActiveAdmin using this example that uploads a CSV file and populates data to the database.
5 min read
See how you can use Sidekiq jobs to read and process a local YAML template for populating the database.
5 min read
A short overview on how you can mock both class methods and instance methods when dealing with Minitest.
4 min read
Help understand your Rails models easier with the help of the annotate models gem.
3 min read
Set up ActiveStorage on your local developer environment with Rails 7.
4 min read
Popular series
Popular articles
Want blog and course updates?
Get fresh posts + news direct to your inbox.
No spam. Max one email per week.
Dennis O'Keeffe
2020-present Dennis O'Keeffe.
All Rights Reserved.