Check existence of RSpec.configure for test helpers #816
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.
When Rails commands such as db:migrate are executed (formerly rake tasks), they load the broader set of rake tasks, and that means that RSpec's rake task is loaded without all of the RSpec context.
This means there is an RSpec constant (from lib/rspec/core/rake_task.rb in rspec-core), but it does not have the configure method. This causes the commands to fail because Flipper's presuming
configure
will always be there ifRSpec
is defined:I considered loading
rspec/core
here instead to ensure the method exists, but that feels counter to what's actually needed: i.e. only if we have that full RSpec context should we be adding the Flipper helpers.If we don't have RSpec fully loaded, then we should respect the current context, not choose to load RSpec unexpectedly, and so not add Flipper's helpers.