From 018cceb0a7dddf501e44fc56536a69b6cea1d884 Mon Sep 17 00:00:00 2001 From: "ajay@krishnan.ca" <1+ajaynomics@noreply.gitea.ajay.to> Date: Wed, 9 Sep 2026 15:28:47 -0700 Subject: [PATCH] Allow marcel 2 alongside marcel 1 (#5) --- opencode-ruby.gemspec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/opencode-ruby.gemspec b/opencode-ruby.gemspec index 68de932..e2e9cd2 100644 --- a/opencode-ruby.gemspec +++ b/opencode-ruby.gemspec @@ -33,7 +33,13 @@ Gem::Specification.new do |spec| # ActiveSupport supplies the small set of core extensions used by the # client without pulling in Rails. Marcel identifies artifact content types. spec.add_runtime_dependency "activesupport", ">= 6.1", "< 9.0" - spec.add_runtime_dependency "marcel", "~> 1.0" + # Rails edge moved activestorage to marcel ~> 2.0, and this gem is loaded + # alongside it in applications that track edge. marcel 2 requires Ruby >= 3.3 + # while this gem supports >= 3.2, so the bound is a permissive range rather + # than a bump: consumers on 3.3+ resolve marcel 2, consumers on 3.2 resolve + # marcel 1, and neither is forced. The single call site, + # Marcel::MimeType.for(extension:), is identical in both majors. + spec.add_runtime_dependency "marcel", ">= 1.0", "< 3" # minitest 6 removed minitest/mock; Object#stub now ships in the extracted # minitest-mock gem, which the suite uses to stub Net::HTTP, File and Tempfile.