Musings of a startup junkie and Ruby on Rails nerd.
Welcome to Millarian! I write about web development, Ruby on Rails, consulting, and the occasional startup lesson learned the hard way.
Catching Rails Credential Drift Between Environments
Rails ships no check that your credential files declare the same keys. We built credential_parity to catch the drift before it reaches production.
EncryptedConfiguration#key? Missing Before Rails 7.1
delegate_missing_to turns a missing predicate into a confusing ArgumentError, not a NoMethodError.
Requiring an ActiveSupport Leaf File Breaks on Rails 7.1
require 'active_support/x' alone raises a deprecator NoMethodError unless the parent library loads first.
Turbo Streams Instead of Nested Forms
When the parent already exists, you probably don't need a nested form at all
Nested Forms in Rails 8: Life After Cocoon and Webpacker
accepts_nested_attributes_for still works. A small Stimulus controller handles the rest.
Building a Pluggable Adapter Architecture in Ruby
How to design a gem with zero hard dependencies and user-selectable backends.
Testing a Ruby Gem Across Multiple Adapter Combinations
Using Appraisal to test every combination of optional dependencies.
Document Conversion on Heroku
Getting LibreOffice and ImageMagick working for PDF conversion on Heroku.
Introducing DocPDF
A Ruby gem for document-to-PDF conversion and watermarking, with zero hard dependencies.
Rails 6, Webpacker, and the Cocoon gem
A straightforward way to use the Cocoon gem in your Rails 6 project, using Webpacker.