Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Don't swallow LoadErrors when requiring a dashed gem #3195

Merged
merged 1 commit into from
Oct 3, 2014

Conversation

Intrepidd
Copy link
Contributor

This looks like #1807

when raising a LoadError in a required gem, bundler will rescue it to try and see if it came from his own namespaced require or from the required file.

If it comes from the dashed require it will re-raise the original exception in case the gem was dashed but the first require was ok but raised a LoadError after.

However, the exception is swallowed if we require a dashed gem without the proper file name, for example gem name : 'foo-bar' and file architecture : 'foo/bar.rb'

This PR cleans a bit the code (remove useless condition) and fixes the issues with the loading :

  • If we can't load the filename with the dash, we try with a slash
  • if the exception is about the file with a slash, it passes silently because we can't find any of the files
  • Otherwise, we rise the exception we just got

@Intrepidd
Copy link
Contributor Author

I've edited my PR and the first message with improvements

@Intrepidd Intrepidd force-pushed the patch-1 branch 3 times, most recently from ef3e601 to a53c9b7 Compare October 1, 2014 12:57
@Intrepidd
Copy link
Contributor Author

I also added a spec and fixed existing specs related to that

This looks like rubygems#1807

when raising a LoadError in a required gem, bundler will rescue it to try and see if it came from his own namespaced require or from the required file.

If it comes from the dashed require it will re-raise the original exception in case the gem was dashed but the first require was ok but raised a LoadError after.

However, the exception is swallowed if we require a dashed gem without the proper file name, for example gem name : 'foo-bar' and file architecture : 'foo/bar.rb'

This PR raise the exception back in case it really comes from inside the namespaced file.
@indirect indirect merged commit 7abc284 into rubygems:master Oct 3, 2014
indirect added a commit that referenced this pull request Oct 3, 2014
Don't swallow LoadErrors when requiring a dashed gem
@indirect
Copy link
Member

indirect commented Oct 3, 2014

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants