A personal blog on all things of interest.
Written by Dennis O'Keeffe
Why the '!' in Ruby is so important to conquer and real-world implications.
This guide will alleviate questions that new Rubyists have around monkey patching and how it works in Ruby.
See how you can update your new Ruby on Rails 7 project to use HTM and React without a Node.js setup.
Set up a new Rails 7 project with ESBuild that has TypeScript support out-of-the-box.
Follow along as we build out a skeleton Rails 7 server that enables us to use GraphQL.
See how we can use the Dry RB gems dry-matcher and dry-monads to clean up our Ruby code.
A look at how we can implement a Railsy-way of the Repository Pattern in our Rails apps.
Continuing on with our project, the next step is to add in dry-validation and dry-monads to help tidy up our code.
At this stage of the project, we are introducing Factory Bot to help replace the default fixtures so we can test our PostsRepository code.
Dive head-first into using Action Cable with Rails 7 and setup a basic React project that can handle web sockets.
Continuing on from the last post, we introduce Redux to handle our remote messages and perform actions on our React.js application.
Implement simple pagination mechanisms using the Kaminari gem with Ruby on Rails 7.
An entry-level introduction to setting up the Rails cache and seeing it in action with Redis in development.
A demonstration on getting a local development environment going with Sidekiq and Redis to run a simple demonstration job in Rails 7.
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.
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.
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.
In part two of our Devise series, we look at how we can replace the default cookie session store with Redis.
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.
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.
In part five, we set up the OmniAuth configuration for Devise to demonstrate login using GitHub.
In part six, we enforce the usage of reCAPTCHA v2 to prevent signing up or logging in without passing the reCAPTCHA verification.
Follow the basics to send an email using a Postmark template and view it in the browser during development.
This post will demonstrate how to benchmark and compare code to help us better understand the performance of our Ruby code.
For this part, we look at setting up some helpers for us to log users in when writing controller tests.
This post looks at how we outline required policies in order to fulfill requests in Ruby on Rails using the Pundit gem.
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.
An intro into Ruby memoization with the memoization operator and the Memoist gem.
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.
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.
See how the FriendlyID gem makes it simple to convert you URLs into something more useful and friendly with Rails 7.
This post is a reflection on my first look at using Ahoy analytics in a Rails 7 application.
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.
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.
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.
Following up on the previous post, we will be looking at the last through associations that come baked into Rails.
In this short post, see how you can visualize your domain model quickly using the rails-erd gem.
In this short overview, see how RSpec can be incorporated into your GitHub Actions workflows.
In this short overview, see how MiniTest can be incorporated into your GitHub Actions workflows.
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.
In part two of the Ruby gem series, we will take the gem we created in the previous part and deploy it to RubyGems.
In the final part of the Ruby Gem series, we will be automating the deployment of our recently created gem using GitHub Actions.
See how to upload files to ActiveAdmin using this example that uploads a CSV file and populates data to the database.
See how you can use Sidekiq jobs to read and process a local YAML template for populating the database.
A short overview on how you can mock both class methods and instance methods when dealing with Minitest.
Help understand your Rails models easier with the help of the annotate models gem.
Set up ActiveStorage on your local developer environment with Rails 7.
1,200+ PEOPLE ALREADY JOINED ❤️️
No spam. We only send you relevant content.