Issue
PR #778 (Ruby 3.4 compat check) added 5 stdlib gems to the root Gemfile as a workaround:
mutex_m
csv
drb
logger
ostruct
These should properly live in core/workarea-core.gemspec as add_dependency entries. Downstream implementations that use Ruby 3.4 would otherwise need to add these manually to their own Gemfiles.
Why
When workarea-core is installed as a gem (not path-referenced), downstream implementations inherit its gemspec dependencies but not its root Gemfile. The stdlib gems need to be declared where they'll propagate to consumers.
Fix
Move from Gemfile:
gem 'mutex_m'
gem 'csv'
gem 'drb'
gem 'logger'
gem 'ostruct'
To core/workarea-core.gemspec:
s.add_dependency 'mutex_m' # Ruby 3.4+: no longer stdlib
s.add_dependency 'csv' # Ruby 3.4+: no longer stdlib
s.add_dependency 'drb' # Ruby 3.4+: no longer stdlib
s.add_dependency 'logger' # Ruby 3.4+: no longer stdlib
s.add_dependency 'ostruct' # Ruby 3.4+: no longer stdlib
And keep the root Gemfile clean (or remove the explicit entries since they'd come through gemspec).
Note
Long-term, upgrading to activesupport 7+ (part of the Rails 7 upgrade path) resolves the mutex_m/drb issue at the source since Rails 7 properly declares these deps. The csv and others used in workarea-core itself still need explicit declaration.
Acceptance Criteria
Issue
PR #778 (Ruby 3.4 compat check) added 5 stdlib gems to the root
Gemfileas a workaround:mutex_mcsvdrbloggerostructThese should properly live in
core/workarea-core.gemspecasadd_dependencyentries. Downstream implementations that use Ruby 3.4 would otherwise need to add these manually to their own Gemfiles.Why
When
workarea-coreis installed as a gem (not path-referenced), downstream implementations inherit its gemspec dependencies but not its root Gemfile. The stdlib gems need to be declared where they'll propagate to consumers.Fix
Move from
Gemfile:To
core/workarea-core.gemspec:And keep the root Gemfile clean (or remove the explicit entries since they'd come through gemspec).
Note
Long-term, upgrading to activesupport 7+ (part of the Rails 7 upgrade path) resolves the
mutex_m/drbissue at the source since Rails 7 properly declares these deps. Thecsvand others used in workarea-core itself still need explicit declaration.Acceptance Criteria
workarea-core.gemspecbundle installsucceeds with Ruby 3.4