1. Iterating on our bulk Visi exports feature

    24 min read

    This post focuses on my work at Visibuild to roll-forward a feature to a more scalable solution.

  2. Annotated Rails Models

    3 min read

    Help understand your Rails models easier with the help of the annotate models gem.

  3. Local ActiveStorage Development With Rails 7

    4 min read

    Set up ActiveStorage on your local developer environment with Rails 7.

  4. Mocks With Minitest

    4 min read

    A short overview on how you can mock both class methods and instance methods when dealing with Minitest.

  5. Pry Debugger Tips

    6 min read

    Some basic tips on getting more value from the Pry debugger.

  6. Ruby SmarterCSV Gem

    2 min read

    A quick look at using the SmarterCSV gem.

  7. Processing Local YAML Files With Sidekiq

    5 min read

    See how you can use Sidekiq jobs to read and process a local YAML template for populating the database.

  8. Uploading Files In ActiveAdmin

    5 min read

    See how to upload files to ActiveAdmin using this example that uploads a CSV file and populates data to the database.

  9. Automating Ruby Gem Package Releases With Github Actions

    6 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.

  10. Creating Your Own Ruby Gem

    2 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.

  11. Deploying Your Gem To RubyGems

    3 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.

  12. MiniTest With GitHub Actions

    4 min read

    In this short overview, see how MiniTest can be incorporated into your GitHub Actions workflows.

  13. RSpec With GitHub Actions

    3 min read

    In this short overview, see how RSpec can be incorporated into your GitHub Actions workflows.

  14. Rails Entity-Relationship Diagrams

    1 min read

    In this short post, see how you can visualize your domain model quickly using the rails-erd gem.

  15. Through Rails Associations

    5 min read

    Following up on the previous post, we will be looking at the last through associations that come baked into Rails.

  16. Devise Part 10: Devise Token Auth

    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.

  17. Devise Part 11: Authentication Tokens With Doorkeeper

    7 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.

  18. Understanding Rails Associations

    9 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.

  19. Exploring Ahoy Analytics With Rails 7

    4 min read

    This post is a reflection on my first look at using Ahoy analytics in a Rails 7 application.

  20. ActiveAdmin With Ruby On Rails 7

    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.

  21. Getting Started With The FriendlyID Gem In 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.

  22. Ruby Memoization Basics And Memoist

    4 min read

    An intro into Ruby memoization with the memoization operator and the Memoist gem.

  23. SimpleCov With Ruby And GitHub Actions

    5 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.

  24. Devise Part 7: Testing With RSpec And Factory Bot

    6 min read

    For this part, we look at setting up some helpers for us to log users in when writing controller tests.

  25. Devise Part 8: Policy Authorization In Rails 7 With Pundit

    10 min read

    This post looks at how we outline required policies in order to fulfill requests in Ruby on Rails using the Pundit gem.

  26. Devise Part 9: Setting Up 302 Redirection vs 401 Unauthorized Handlers

    6 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.

  27. Benchmarking In Ruby

    3 min read

    This post will demonstrate how to benchmark and compare code to help us better understand the performance of our Ruby code.

  28. Devise Part 5: OAuth With GitHub And OmniAuth

    7 min read

    In part five, we set up the OmniAuth configuration for Devise to demonstrate login using GitHub.

  29. Devise Part 6: Adding Recaptcha To Prevent Fraud And Abuse

    6 min read

    In part six, we enforce the usage of reCAPTCHA v2 to prevent signing up or logging in without passing the reCAPTCHA verification.

  30. Sending Your First Email With ActionMailer In Rails 7

    13 min read

    Follow the basics to send an email using a Postmark template and view it in the browser during development.

  31. Devise Part 1: Setting Up Devise With Rails 7 And React

    5 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.

  32. Devise Part 2: Using Redis Sessions Instead Of The Cookie Store

    3 min read

    In part two of our Devise series, we look at how we can replace the default cookie session store with Redis.

  33. Devise Part 3: Updating Our Devise Views With Tailwind CSS

    4 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.

  34. Devise Part 4: Authentication With A Separate Frontend

    9 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.

  35. Rate Limiting With Rack Attack In Rails 7

    10 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.

  36. Rate Limiting With Rack Throttle In Rails 7

    6 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.

  37. Getting Started With Sidekiq In Rails 7

    7 min read

    A demonstration on getting a local development environment going with Sidekiq and Redis to run a simple demonstration job in Rails 7.

  38. Using The Rails Cache With Redis

    6 min read

    An entry-level introduction to setting up the Rails cache and seeing it in action with Redis in development.

  39. Ruby On Rails Pagination With Kaminari

    9 min read

    Implement simple pagination mechanisms using the Kaminari gem with Ruby on Rails 7.

  40. Action Cable Messages With Redux

    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.

  41. Action Cable Hello World With Rails 7

    8 min read

    Dive head-first into using Action Cable with Rails 7 and setup a basic React project that can handle web sockets.

  42. Factory Bot With Rails

    11 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.

  43. Dry Validation With Rails

    16 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.

  44. Repository Pattern In Rails

    10 min read

    A look at how we can implement a Railsy-way of the Repository Pattern in our Rails apps.

  45. Exploring Dry-RB With Dry Matcher And Dry Monads

    7 min read

    See how we can use the Dry RB gems dry-matcher and dry-monads to clean up our Ruby code.

  46. Setting Up A Base GraphQL Server And GraphiQL With Rails 7

    7 min read

    Follow along as we build out a skeleton Rails 7 server that enables us to use GraphQL.

  47. Rails 7 Using React With ESBuild

    4 min read

    Set up a new Rails 7 project with ESBuild that has TypeScript support out-of-the-box.

  48. Rails 7 Using React With Htm

    6 min read

    See how you can update your new Ruby on Rails 7 project to use HTM and React without a Node.js setup.

  49. The Beginner's Guide To Monkey Patching In Ruby

    9 min read

    This guide will alleviate questions that new Rubyists have around monkey patching and how it works in Ruby.

  50. Bang Methods In Ruby

    3 min read

    Why the '!' in Ruby is so important to conquer and real-world implications.

  51. Pattern Matching In Ruby

    4 min read

    Understand pattern matching in Ruby.

  52. Understanding Ruby Blocks

    8 min read

    A recap on the fundamentals of Ruby blocks.