Skip to content

Declare required_ruby_version >= 3.1#4

Open
bidsketchris wants to merge 1 commit into
masterfrom
chore/required-ruby-version
Open

Declare required_ruby_version >= 3.1#4
bidsketchris wants to merge 1 commit into
masterfrom
chore/required-ruby-version

Conversation

@bidsketchris

Copy link
Copy Markdown
Collaborator

Problem

The gemspec declares no required_ruby_version. Bundler/RubyGems will therefore install interactor on any Ruby, including versions the gem isn't tested against — where it then fails at runtime on syntax/APIs it relies on (e.g. String#delete_suffix, Ruby 2.5+). The failure surfaces as an obscure runtime crash rather than a clear resolution-time error.

Change

spec.required_ruby_version = ">= 3.1"

>= 3.1 matches the actually-supported range:

  • CI matrix runs 3.1, 3.2, 3.3, 3.4, and head.
  • .standard.yml pins ruby_version: 3.1.4.

With the constraint, an unsupported Ruby is rejected at bundle install / gem install with a clear message instead of crashing later.

Notes

  • Independent of Remove OpenStruct from Context #3 (the OpenStruct removal); branched off master so it can merge on its own.
  • No code or test changes — gemspec metadata only.

🤖 Generated with Claude Code

The gemspec set no required_ruby_version, so Bundler/RubyGems would let
the gem install on Rubies it isn't tested against, then fail at runtime
on syntax/APIs it relies on (e.g. delete_suffix, 2.5+). The CI matrix
runs 3.1–head and .standard.yml pins 3.1.4, so >= 3.1 matches the
actually-supported range and surfaces unsupported Rubies at install
time with a clear error instead of an obscure runtime crash.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bidsketchris bidsketchris self-assigned this Jun 19, 2026
@bidsketchris
bidsketchris requested review from a team, cristian-cepeda-signwell and juankisardin and removed request for a team June 19, 2026 10:45

@juankisardin juankisardin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@cristian-cepeda-signwell cristian-cepeda-signwell left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants