Welcome to the wonderful mystery box that is This Week in Open Source! Will you be getting a week of updates? A month? And from when?
Buckle up - you’re in for updates covering the remainder of April and entirety of May! That’s SIX WHOLE WEEKS! Phew!
Place your bets for who made the most contributions this period. My bet is on Steve Polito and the amazing work he’s doing over in Suspenders.
- Administrate
- Appraisal
- Clearance
- Design Sprint Guide
- thoughtbot dotfiles
- factory_bot
- factory_bot_rails
- Flightdeck
- Form Props
- thoughtbot’s Guides
- PropsTemplate
- Shoulda
- Shoulda Context
- Shoulda Matchers
- thoughtbot stylelint Config
- Superglue
- Suspenders
- Upcase
Administrate
Administrate is a framework for creating flexible, powerful admin dashboards in Rails.
Jeanine Soterwood (littleforest)
made sure the index_header
partial is created when generating views
(7b7ac38).
Cale Crawford (CaleCrawford) fixed the flaky “search with a filter with arguments” spec (d70f37e).
Stefanni Brasil (stefannibrasil) added the dynamic-readme reusable workflow (a605a32).
Trésor Bireke (Tresor11) updated the License year (6e52e64).
dependabot[bot]
bumped the versions of sentry-rails
(c372f0c),
selenium-webdriver
(448418e),
(e70cd3b),
(aab1e25),
dotenv-rails
(0a28463),
(2b554b3),
nokogiri
(9aad7ea),
standard
(56b3efb),
i18n-tasks
(2bbf435),
pundit
(a811a4e),
launchy
(01ab492),
rexml
(9efb851),
rack-timeout
(304eeeb),
formulaic
(f443be7),
webmock
(b722fce),
and faker
(8bed5ee).
Appraisal
Appraisal is a Ruby library for testing your library against different versions of dependencies.
Joe Sharp (joe-sharp) added the ability to use variables in Gemfiles (be4fa01).
Clearance
Clearance offers Rails authentication with email & password.
Dorian Marié (dorianmariecom) created SECURITY.md (4bc064f).
Manuel Meurer (manuelmeurer) fixed validating emails in strict mode (82e6f73).
James Robey (foucist) updated the example config in README.md (3ab1852).
Mina Slater (minaslater) removed the Hound README badge (6808c6c).
Sara Jackson (sej3506) released version 2.7.1 🎉 (c045bb4).
Jos O'shea (whatnotery)
updated sqlite3
and erb_lint
gems
(fb03575).
Design Sprint Guide
The Design Sprint Guide](https://github.com/thoughtbot/design-sprint-guide) is a static website built using Eleventy.
Luke Mitchell (LkeMitchll) and Danny Kim (dankybot) fixed a typo in the ‘speedy eights’ exercise (2f6274d).
Stefanni Brasil (stefannibrasil) reverted a URL change (2cd0625) and added title tags to pages (486f7ae).
thoughtbot dotfiles
thoughtbot dotfiles is a set of vim, zsh, git, and tmux configuration files.
Steve Polito (stevepolitodesign) updated railsrc to skip tests when building new application (681553f) and added an application template to railsrc (1cd64fa).
factory_bot
factory_bot is a library for setting up Ruby objects as test data.
Sarah Lima (sarahraqueld) added new maintainers to CODEOWNERS (229246b).
Silumesii Maboshe (smaboshe) updated the Dependabot configuration (5e1c810).
Antonis Berkakis (berkos) added Ruby 3.3 to CI (bbb881a).
Matthew Gizzi (m-gizzi),
Michelle Yuen (yuenmichelle1), and
Stephanie Minn (stephanieminn)
added a case for build_class
to handle class names with underscores passed as a string
(c791452).
🎓 Mike Burns (mike-burns)
graduated as a maintainer of factory_bot
(b5738ef).
We want to thank Mike Burns for his hard work and contributions through the years. ❤️
factory_bot_rails
factory_bot_rails provides Rails integration for factory_bot.
Silumesii Maboshe (smaboshe) updated the Dependabot schedule (edc2b3f).
He and Sarah Lima (sarahraqueld) added a CODEOWNERS file (1c24be0).
Silumessi and aberkakis updated CI to run Ruby 3.3 (f0e60ac).
Flightdeck
Flightdeck provides Terraform modules for rapidly building production-grade Kubernetes clusters following SRE practices.
Olamide (OlamideOl1) added a custom groups option to aws auth config map builder (ee25c58).
Form Props
Form Props is a Rails form builder that outputs HTML props instead of tags. Now you can enjoy the power and convenience of Rails helpers in React!
Ryan Krug (keegnotrub)
added text_field
to usage example in README.md
(abd433f)
and added the ability to pass form_props
options to Inputs::RadioButton
(7a1ab92).
Johny Ho (jho406) fixed a bad cron (d518b4d).
Guides
thoughtbot’s Guides for working together, getting things done, programming well, and programming in style.
Summer ☀️ (thoughtbot-summer) added an explanation for how vague meeting invitations can trigger anxiety attacks and how to add clarity (6d071b2).
PropsTemplate
PropsTemplate is a direct-to-Oj, JBuilder-like DSL for building JSON. It has support for Russian-Doll caching, layouts, and can be queried by giving the root a key path.
Johny Ho (jho406)
fixed a bad cron
(5112430),
fixed an issue with templates that don’t have a virtual_path
(61f582f),
and bumped the version to 0.34.0 🎉
(8eaa418).
Ryan Krug (keegnotrub)
updated the #traversing
ref in README.md
(a4c4a77).
Shoulda
Shoulda helps you write more understandable, maintainable Rails-specific tests under Minitest and Test::Unit.
🎓 Elliot Winkler (mcmire) graduated as a maintainer of Shoulda and wrote a heart-felt sign off that’s worth a read: (0d7992c).
We want to thank them for their years of dedication and contribution! ❤️
Shoulda Context
Shoulda Context makes it easy to write understandable and maintainable tests under Minitest and Test::Unit within Rails projects or plain Ruby projects.
Pedro Paiva (vsppedro) got the changelog up to date (d022bc2), fixed a broken link in changelog (d80530c), bumped version to 3.0.0.rc1 🎉 (c67b11e), and bumped shoulda-context version in Gemfile.lock to 3.0.0.rc1 (855f0c3).
Shoulda Matchers
Shoulda Matchers provides simple one-liner tests for common Rails functionality.
Matheus Sales (matsales28)
fixed the Polymorphic + STI uniqueness check
(a527d32),
added a default
qualifier to the define_enum_for
matcher
(c9d234a),
and added a validating qualifier to the enum
matcher
(3c88e1c).
thoughtbot stylelint Config
thoughtbot stylelint Config is a shareable stylelint configuration that enforces thoughtbot’s Sass guides.
Stefanni Brasil (stefannibrasil) added the dynamic-readme reusable workflow (97dd0ca).
Superglue
Superglue is a tool that helps you use classic Rails to build rich React Redux applications with NO APIs and NO client-side routing.
Camillo Visini (visini) made improvements to the tutorial (fd3f027).
Jade Philippe (jp524)
added an erb-lint
exception for ERB templates
(0c66d04).
Stefanni Brasil (stefannibrasil)
fixed CI issues after migrating from CircleCI to GHA
(43da6b2)
and scheduled superglue
to build regularly against Rails main
(560c73d).
Silumesii Maboshe (smaboshe) replaced the CircleCI badge with the GitHub badge in the README (988fde6).
Johny Ho (jho406) fixed a bad cron (61d7eb2).
Suspenders
Suspenders is a Rails template with our standard defaults, ready to deploy.
Stefanni Brasil (stefannibrasil) added the dynamic-readme reusable workflow (f61e5f8).
During this time, Steve Polito (stevepolitodesign) was busy! Listing all of his work is possible, but may be more readable in the form of the Suspenders’ release notes. You can read them here.
Collaboration is always worth sharing here, so I’ve included these contributions:
Dimiter Petrov (crackofdusk) and Steve
introduced the suspenders:development:environment
generator
(383efcf).
Steve and Sean Doyle (seanpdoyle) updated the web generator to generate CONTRIBUTING.md when suspending a new Rails application. (afafe25).
Steve and Mike Burns (mike-burns) added
handling for a potential
TOCTOU bug
around postcss.config.js
(95e57d0).
Upcase
Upcase is a Rails application deployed to Heroku designed to help sharpen your programming skills.
Silumesii Maboshe (smaboshe)
added RSpec tests to the GitHub Action
(9eca751),
adjusted the project to use bin/dev
to start the application locally
(aade185),
and updated the Dependabot configuration
(7ba66c8).
Silumessi also updated the Gemfile
(851907b),
specified the version of Ruby with .ruby-version
in the Gemfile
(dbdb1d0),
made preparations for OmniAuth version 2.x
(54a0b76),
added the specific Ruby version in Gemfile
(208be94).
He also updated the Ruby version to 3.0.7 (dd79d14), updated RailsAdmin from 2.x to 3.x (9027f88), and updated Bundler to v2.5.11 (c990c43).
dependabot[bot]
bumped the versions of sinatra
(891dc8a),
clearance
(765d72d),
jmespath
(af56042),
autoprefixer-rails
(b0a0fff),
bootsnap
(ce84421),
spring
(5a6edf5),
simplecov
(afd484a),
timecop
(45bac3b),
omniauth-rails_csrf_protection
, omniauth
, and omniauth-github
(140df0b).
mime-types
(e5daaf7),
validates_email_format_of
(327fa90),
nokogiri
(2bc8a00),
rexml
(7c37659),
rack-mini-profiler
(83a1434),
inline_svg
(c0abf6d),
sentry-rails
and sentry-ruby
(3ef0070),
dotenv-rails
(b043b3d),
and responders
(8300df5).
Trésor Bireke (Tresor11) updated the podcast link on the landing page (d89d21b) and added alt text to images (8dbf343).
✨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.
We recently started sharing notes from our internal open source maintainers sync! Check out this doc for community opportunities!