Add set_all! and unset_all! for scoped relation #40
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.
Description
Added
with_scopetoDefinitionand@scopeinstance variable to allow controlling logic for scopes.This PR addresses this issue.
Changes
ActiveFlag::Definition:@scopeinstance variable (defaults to the model class).with_scope(scope)method to create a shallow copy of the definition bound to a specific scope.set_all!andunset_all!to performupdate_allon@scopeinstead of@klass.ActiveFlagmodule:generated_relation_methods(if available). This allows the accessor to captureself(the relation) as the scope when called on anActiveRecord::Relation.test_scoped_set_all_and_unset_allto verify that scoping works as expected for both setting and unsetting flags.