---
title: This Week in Open Source (September 1, 2023)
teaser: Recent thoughtbot open source updates (September 1, 2023).
tags: news,open source,this week in open source
author: Sara Jackson
published_on: 2023-09-02
---

In the northern hemisphere, we have now entered the
[meterological fall season](https://www.farmersalmanac.com/meteorological-fall).  
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](#shoulda-matchers),
[factory_bot](#factory_bot),
[factory\_bot\_rails](#factory_bot_rails),
[Suspenders](#suspenders),
[ClearanceI18n](#clearancei18n),
[Flightdeck](#flightdeck),
thoughtbot's documentation [templates](#templates),
thoughtbot's [ESLint Config](#eslint-config), and
[AWS Database Modules for Terraform](#aws-database-modules-for-terraform).

## [Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers)

[Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers) provides
simple one-liner tests for common Rails functionality.

Matheus Sales ([matsales28](https://github.com/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](https://github.com/thoughtbot/shoulda-matchers/commit/68f76ce13e9892339f90c4928339dfd769cfa613)).
This work expands on work started by Prashant Jois
([prashantjois](https://github.com/prashantjois))
[here](https://github.com/thoughtbot/shoulda-matchers/pull/1124).

## [factory_bot](https://github.com/thoughtbot/factory_bot)

[factory_bot](https://github.com/thoughtbot/factory_bot) is a library for
setting up Ruby objects as test data.

Berkan Ünal ([brkn](https://github.com/brkn)) added a link to the changelog in
the gemspec
([9acba94](https://github.com/thoughtbot/factory_bot/commit/9acba94cd9e8d5221e158fdf7235a09c6f66cebc)).

Sean Doyle ([seanpdoyle](https://github.com/seanpdoyle)) added functionality
that now publishes `factory_bot.compile_factory` notifications to
`ActiveSupport::Notifications`
([c50b664](https://github.com/thoughtbot/factory_bot/commit/c50b664b1fd7eb0362842a414f13eb95eb9b7fb1)).

Benjamin Fleischer ([bf4](https://github.com/bf4)) explicitly defined
`#destroyed?` within the `Stub` strategy to return `false`, ensuring
consistentcy with `#new_record?` and `#persisted?`
([6486fce](https://github.com/thoughtbot/factory_bot/commit/6486fce7fc3043ae985e9810c9b850a004386871)).

Lawrence Chou ([choznerol](https://github.com/choznerol)) documented changes in
FactoryBot 6.0.0 that may break FactoryBot.lint
([e17be4a](https://github.com/thoughtbot/factory_bot/commit/e17be4aeae43b1f9094d78483a937c5ff7cc1cb2)).

## [factory\_bot\_rails](https://github.com/thoughtbot/factory_bot_rails)

[factory\_bot\_rails](https://github.com/thoughtbot/factory_bot_rails) provides
Rails integration for [factory_bot](https://github.com/thoughtbot/factory_bot).

Edu Depetris ([edudepetris](https://github.com/edudepetris)) documented the
custom Rails generator in README.md
([3995e62](https://github.com/thoughtbot/factory_bot_rails/commit/3995e62a280f94fae14ab6fc98a56f1b0d4fb1d0)).

## [Suspenders](https://github.com/thoughtbot/suspenders)

[Suspenders](https://github.com/thoughtbot/suspenders) is a Rails template with
our standard defaults, ready to deploy.

Thiago Araújo Silva ([thiagoa](https://github.com/thiagoa)) enabled Suspenders
to be used with a range of safe Ruby versions, instead of solely 3.0.5
([761c413](https://github.com/thoughtbot/suspenders/commit/761c4134308f77f52dd25a228c7cedfd14dafe82)).

## [ClearanceI18n](https://github.com/thoughtbot/clearance-i18n)

[ClearanceI18n](https://github.com/thoughtbot/clearance-i18n) provides
translations for [Clearance](https://github.com/thoughtbot/clearance).

Valeria Graffeo ([heyvaleria](https://github.com/heyvaleria)) merged a
dependabot PR to bump the activesupport version
([6460fa8](https://github.com/thoughtbot/clearance-i18n/commit/6460fa8be85db2f45d22d8c5790166b268b9d4e4)).

## [Flightdeck](https://github.com/thoughtbot/flightdeck)

[Flightdeck](https://github.com/thoughtbot/flightdeck) provides Terraform
modules for rapidly building production-grade Kubernetes clusters following SRE
practices.

Bob Stasiunas ([eternalyperplxed](https://github.com/eternalyperplxed)) enabled
the native secrets encryption option in EKS using a provisioned KMS key
([25773be](https://github.com/thoughtbot/flightdeck/commit/25773be28107d945668616edeed2440add78fc11)).

[github-actions[bot]](https://github.com/apps/github-actions) added
documentation for `aws_kms_alias.eks_key_alias` and `aws_kms_key.eks_key`,
related to the change above
([ae9dd8f](https://github.com/thoughtbot/flightdeck/commit/ae9dd8fdb8690b4f518ebe63d41a20f5f22181f3)).

## [Templates](https://github.com/thoughtbot/templates)

thoughtbot's documentation [templates](https://github.com/thoughtbot/templates)
for open source projects.

Steve Polito ([stevepolitodesign](https://github.com/stevepolitodesign)),
keeping in line with
[curl, Rails, and others](https://github.com/rails/rails/pull/47467), removed
the year from the license template
([747ead5](https://github.com/thoughtbot/templates/commit/747ead5caa674c83a011baafbadd9b8221dbd635)),
as well as references to a specific year from the README template and the README
itself
([835aea9](https://github.com/thoughtbot/templates/commit/835aea94652ca80b87a177551893bce759af677a)).
He also fixed a broken logo path
([1254618](https://github.com/thoughtbot/templates/commit/1254618b1c54c4ba88203a12c17608cc4d193628)).

## [ESLint Config](https://github.com/thoughtbot/eslint-config)

thoughtbot's [ESLint Config](https://github.com/thoughtbot/eslint-config) is a
batteries-included sharable ESLint configurations for React, React Native,
TypeScript, and Node.js that enforce
[thoughtbot’s JavaScript guides](https://github.com/thoughtbot/guides/tree/main/javascript).

Sara Jackson ([sej3506](https://github.com/sej3506)) (Oh, that's me!) updated a
link to thoughtbot's JavaScript guide
([a17bb40](https://github.com/thoughtbot/eslint-config/commit/a17bb40336d38a4eeba71e2246f6afea0c89e243)).

## [AWS Database Modules for Terraform](https://github.com/thoughtbot/terraform-aws-databases)

[AWS Database Modules for Terraform](https://github.com/thoughtbot/terraform-aws-databases)
provides Terraform modules to provision databases on AWS.

Olamide ([OlamideOl1](https://github.com/OlamideOl1)) created module for AWS
Kafka
([b7fce4e](https://github.com/thoughtbot/terraform-aws-databases/commit/b7fce4e327b5de6f3a36362b35ae9aee86d22a2e))
and enabled custom kms encryption for Elasticache and RDS 
([a425532](https://github.com/thoughtbot/terraform-aws-databases/commit/a425532c87adc9bfce1eef09e5451c3dee8c0985)).

---

✨Have you considered contributing to open source? There's a project out there for
you! Visit our [Open Source page](https://thoughtbot.com/open-source) to learn
more about our team's projects and contributions. While you're there, consider
contributing to one of our projects.
