-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Minor - P4
-
Affects Version/s: None
-
Component/s: Query
It's nice to restore previous scope in `.with_scope`, don't you think?
diff --git a/lib/mongoid/scopable.rb b/lib/mongoid/scopable.rb
index 76887e78a..7b4f55331 100644
--- a/lib/mongoid/scopable.rb
+++ b/lib/mongoid/scopable.rb
@@ -226,11 +226,12 @@ module Mongoid
#
# @since 1.0.0
def with_scope(criteria)
+ previous = Threaded.current_scope(self)
Threaded.set_current_scope(criteria, self)
begin
yield criteria
ensure
- Threaded.set_current_scope(nil, self)
+ Threaded.set_current_scope(previous, self)
end
end
- clones
-
MONGOID-5186 .with_scope should restore previous scope
-
- Closed
-
- is duplicated by
-
MONGOID-5586 unscoped has no effect when a scope does not provide a query condition
-
- Closed
-
- is related to
-
MONGOID-5215 Document that or/nor conditions make default scope one of the disjunction branches
-
- Closed
-
-
MONGOID-5214 Make unscoped clear current scope or document that it does not
-
- Closed
-
- links to