This Week in Open Source (September 1, 2023)

In the northern hemisphere, we have now entered the meterological fall season.
I’m looking forward to pumpkin-spice-laced contributions (which exist only in my dreams).

Here’s what folks have been up to in the last fortnight.
Contributions were made to Shoulda Matchers, factory_bot, factory_bot_rails, Suspenders, ClearanceI18n, Flightdeck, thoughtbot’s documentation templates, thoughtbot’s ESLint Config, and AWS Database Modules for Terraform.

Shoulda Matchers

Shoulda Matchers provides simple one-liner tests for common Rails functionality.

Matheus Sales (matsales28) added the ability for the length matcher to be used on associations. It does this by checking if the attribute is an association, and if so, it uses the associations as the attribute to validate (68f76ce). This work expands on work started by Prashant Jois (prashantjois) here.


factory_bot is a library for setting up Ruby objects as test data.

Berkan Ünal (brkn) added a link to the changelog in the gemspec (9acba94).

Sean Doyle (seanpdoyle) added functionality that now publishes factory_bot.compile_factory notifications to ActiveSupport::Notifications (c50b664).

Benjamin Fleischer (bf4) explicitly defined #destroyed? within the Stub strategy to return false, ensuring consistentcy with #new_record? and #persisted? (6486fce).

Lawrence Chou (choznerol) documented changes in FactoryBot 6.0.0 that may break FactoryBot.lint (e17be4a).


factory_bot_rails provides Rails integration for factory_bot.

Edu Depetris (edudepetris) documented the custom Rails generator in (3995e62).


Suspenders is a Rails template with our standard defaults, ready to deploy.

Thiago Araújo Silva (thiagoa) enabled Suspenders to be used with a range of safe Ruby versions, instead of solely 3.0.5 (761c413).


ClearanceI18n provides translations for Clearance.

Valeria Graffeo (heyvaleria) merged a dependabot PR to bump the activesupport version (6460fa8).


Flightdeck provides Terraform modules for rapidly building production-grade Kubernetes clusters following SRE practices.

Bob Stasiunas (eternalyperplxed) enabled the native secrets encryption option in EKS using a provisioned KMS key (25773be).

github-actions[bot] added documentation for aws_kms_alias.eks_key_alias and aws_kms_key.eks_key, related to the change above (ae9dd8f).


thoughtbot’s documentation templates for open source projects.

Steve Polito (stevepolitodesign), keeping in line with curl, Rails, and others, removed the year from the license template (747ead5), as well as references to a specific year from the README template and the README itself (835aea9). He also fixed a broken logo path (1254618).

ESLint Config

thoughtbot’s ESLint Config is a batteries-included sharable ESLint configurations for React, React Native, TypeScript, and Node.js that enforce thoughtbot’s JavaScript guides.

Sara Jackson (sej3506) (Oh, that’s me!) updated a link to thoughtbot’s JavaScript guide (a17bb40).

AWS Database Modules for Terraform

AWS Database Modules for Terraform provides Terraform modules to provision databases on AWS.

Olamide (OlamideOl1) created module for AWS Kafka (b7fce4e) and enabled custom kms encryption for Elasticache and RDS (a425532).

✨Have you considered contributing to open source? There’s a project out there for you! Visit our Open Source page to learn more about our team’s projects and contributions. While you’re there, consider contributing to one of our projects.