This class stores the :current_scope and :ignore_default_scope values for different classes. The registry is stored as a thread local, which is accessed through ScopeRegistry.current.
This class allows you to store and get the scope values on different classes and different types of scopes. For example, if you are attempting to get the current_scope for the Board model, then you would use the following code:
registry = ActiveRecord::Scoping::ScopeRegistry registry.set_value_for(:current_scope, "Board", some_new_scope)
Now when you run:
ActiveRecord::Scoping::ScopeRegistry.set_value_for(:current_scope, "Board", some_new_scope)
VALID_SCOPE_TYPES = [:current_scope, :ignore_default_scope]