-
-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix customize_gemfiles
on Ruby 3
#214
Fix customize_gemfiles
on Ruby 3
#214
Conversation
@nickcharlton you free to merge this? |
Great! Thanks for contributing this, and sorry for the delay. @joe-sharp, thanks for the ping, I appreciate it. |
@nickcharlton - This looks more like the issue I found |
Thanks! I'm keen to do a release with this, but I don't want to do so until I've gotten to the bottom of Bundler incompatibilities. In the short-term, you might wish to pin against the commit where this has been merged in. |
@nickcharlton Do you suspect more issues? Or are we basically talking about #218? |
We're talking about #218. There are a few deprecation warnings I've been looking into, but I don't think those will be a problem just yet. |
I would suggest to switch to absolute paths for the tests when referencing local git repositories. I'm still not 100% sure I understand Bundler intentions (see comments on rubygems/rubygems#4475), but I'll try to spend some more time on it to understand this better. If for appraisal this is just about its own specs, I'd just change them, tbh. |
Yeah, just changing them seems like a good idea. It's always going to be awkward working through private APIs like we seem to be. |
Summary
#191 added an ability to customize headers in gemfiles generated by Appraisal, as well as creating the strings using single quotes. But there's a small bug with the implementation that prevents it from working on Ruby 3:
With changes in Ruby 3, the Hash
yield
'ed from the block needs to be converted into keyword arguments with**
.This PR resolves the issue and provides tests to validate this behaviour.
This addresses #213.