Repository navigation
Support Ruby 3.4 / 4.0 and fix CI - #629
Open
bhawsartanmay wants to merge 4 commits into
Open
bhawsartanmay wants to merge 4 commits into
bhawsartanmay wants to merge 4 commits into
Conversation
- Require base64, logger and ostruct explicitly and declare them as runtime dependencies; they are no longer default gems on Ruby 4.0 - Replace ActiveSupport-only `blank?` calls in Configuration#auth_header and DeleteList#success? so the gem works outside Rails - Point netsuite_data_center_urls at the 2025_1 WSDL; 2017_2 has been retired by NetSuite and now redirects to a 404 page - Use the local WSDL fixture in the token-auth login spec instead of fetching a remote WSDL - Allow rake >= 12.3.3 (rake 12 requires ostruct) - Add Ruby 3.3, 3.4 and 4.0 to the CI matrix; disable fail-fast
Their resolved savon/httpi versions reference Rack::Utils::HeaderHash, which was removed in Rack 3.
bhawsartanmay
force-pushed
the
ruby-4-support
branch
from
September 24, 2026 12:57
72b48c0 to
54a2530
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Gets the gem and its test suite working on Ruby 3.4 and 4.0, and gets CI green again.
On Ruby 4.0.5 the suite previously failed to boot (rake 12 needs
ostruct); once booting, 97 examples failed. With this PR: 1218 examples, 0 failures on Ruby 3.0 – 4.0.Changes
base64,loggerandostructare used by the library (Passports::Token,Configuration#logger,MatrixOptionList) but were never required. They are now required inlib/netsuite.rband declared as runtime dependencies.Object#blank?usage —Configuration#auth_headerandDeleteList#success?called ActiveSupport'sblank?, so they only worked when something else (e.g. Rails) had loaded it. This was the cause of 91 of the 97 failures. (Overlaps with Remove dependence onObject#blank?monkey patch #607.)Utilities.netsuite_data_center_urls— the hardcoded 2017_2 WSDL has been retired by NetSuite (https://webservices.netsuite.com/wsdl/v2017_2_0/netsuite.wsdlnow 302s to a not-found page), so this method fails for all users. Switched to 2025_1, verified against the live endpoint.api_version, which resets the WSDL and made it fetch the retired remote WSDL. It now uses the local fixture.>= 12.3.3(rake 12 requiresostruct). (Overlaps with Update rake requirement from ~> 12.3.3 to ~> 13.2.1 #610.)savon/httpiversions referenceRack::Utils::HeaderHash, removed in Rack 3, so they fail independently of this change.fail-fast: falseso one Ruby doesn't cancel the rest.workflow_dispatchfor manual runs.HISTORY.mdentries under Unreleased.required_ruby_versionis left unchanged.Testing
bundle exec rake→ 1218 examples, 0 failures, 158 pending.BUNDLE_TZINFOtrue/false): https://github.com/bhawsartanmay/netsuite/actions/runs/36001693023