Native extension aliases #153
Merged
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 c
2BB9
heck back later.
Fix bug #150
We recently discovered that Rubinius installs the gem version with pre-compiled extensions. The internal guard logic assumed that the C-native build would only be installed under MRI. As a result we were experiencing unintended behavior on Rubinius. This PR addresses this issue by adding more robust guard clauses, attempting to ensure that C extensions are only loaded on MRI, regardless of what platform a particular interpreter reports.
Because the release of 0.7.0 was put on hold, the guard clauses are very brute-force. They can probably be cleaned up in a later release.
NOTE: It has been suggested that we consider using a gem called Redcard for the guard functionality. This gem was unknown to us until yesterday. At this time we have explicitly decided to not include an external gem dependencies. We will consider using Redcard in a future release.