class ActiveRecord::Scoping::ScopeRegistry
Experimental RBS support (using type sampling data from the type_fusion project).
# sig/active_record/scoping.rbs class ActiveRecord::Scoping::ScopeRegistry def current_scope: (Class model, ?bool skip_inherited_scope, *unused *, **unused **, ) -> nil def global_current_scope: (Class model, ?bool skip_inherited_scope) -> nil def ignore_default_scope: (*unused *, **unused **, ) -> untyped def instance: () -> untyped def set_current_scope: (Class model, User::ActiveRecord_Relation value) -> untyped def set_ignore_default_scope: (*unused *, **unused **, , Class model, false value) -> untyped type ActiveRecord__Scoping__ScopeRegistry_set_value_for_value = ConnectedAccount::ActiveRecord_AssociationRelation | Notification::ActiveRecord_AssociationRelation | nil | true | ConnectedFolder::ActiveRecord_Relation | LinkedConnection::ActiveRecord_Relation def set_value_for: (Hash scope_type, Class model, ActiveRecord__Scoping__ScopeRegistry_set_value_for_value value) -> LinkedConnection::ActiveRecord_Relation? def value_for: (Hash scope_type, Class model, ?bool skip_inherited_scope) -> Notification::ActiveRecord_AssociationRelation? end
:nodoc:
You will obtain whatever was defined in some_new_scope.
registry.current_scope(Board)
Now when you run:
registry.set_current_scope(Board, some_new_scope)
registry = ActiveRecord::Scoping::ScopeRegistry
following code:
to get the current_scope for the Board model, then you would use the
classes and different types of scopes. For example, if you are attempting
This class allows you to store and get the scope values on different
local depending on the application configuration.
for different classes. The registry is stored as either a thread or fiber
This class stores the :current_scope and :ignore_default_scope values
def current_scope(model, skip_inherited_scope = false)
Experimental RBS support (using type sampling data from the type_fusion project).
def current_scope: (Class model, ?bool skip_inherited_scope, *unused *, **unused **, ) -> nil
This signature was generated using 10 samples from 1 application.
def current_scope(model, skip_inherited_scope = false) value_for(@current_scope, model, skip_inherited_scope) end
def global_current_scope(model, skip_inherited_scope = false)
Experimental RBS support (using type sampling data from the type_fusion project).
def global_current_scope: (Class model, ?bool skip_inherited_scope) -> nil
This signature was generated using 6 samples from 1 application.
def global_current_scope(model, skip_inherited_scope = false) value_for(@global_current_scope, model, skip_inherited_scope) end
def ignore_default_scope(model, skip_inherited_scope = false)
Experimental RBS support (using type sampling data from the type_fusion project).
def ignore_default_scope: (*unused *, **unused **, ) -> untyped
This signature was generated using 1 sample from 1 application.
def ignore_default_scope(model, skip_inherited_scope = false) value_for(@ignore_default_scope, model, skip_inherited_scope) end
def initialize
def initialize @current_scope = {} @ignore_default_scope = {} @global_current_scope = {} end
def instance
Experimental RBS support (using type sampling data from the type_fusion project).
def instance: () -> untyped
This signature was generated using 14 samples from 1 application.
def instance ActiveSupport::IsolatedExecutionState[:active_record_scope_registry] ||= new end
def set_current_scope(model, value)
Experimental RBS support (using type sampling data from the type_fusion project).
def set_current_scope: (Class model, User::ActiveRecord_Relation value) -> untyped
This signature was generated using 1 sample from 1 application.
def set_current_scope(model, value) set_value_for(@current_scope, model, value) end
def set_global_current_scope(model, value)
def set_global_current_scope(model, value) set_value_for(@global_current_scope, model, value) end
def set_ignore_default_scope(model, value)
Experimental RBS support (using type sampling data from the type_fusion project).
def set_ignore_default_scope: (*unused *, **unused **, , Class model, false value) -> untyped
This signature was generated using 2 samples from 1 application.
def set_ignore_default_scope(model, value) set_value_for(@ignore_default_scope, model, value) end
def set_value_for(scope_type, model, value)
Experimental RBS support (using type sampling data from the type_fusion project).
type ActiveRecord__Scoping__ScopeRegistry_set_value_for_value = ConnectedAccount::ActiveRecord_AssociationRelation | Notification::ActiveRecord_AssociationRelation | nil | true | ConnectedFolder::ActiveRecord_Relation | LinkedConnection::ActiveRecord_Relation type ActiveRecord__Scoping__ScopeRegistry_set_value_for_scope_type = User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ConnectedAccount | NilClass | ConnectedAccount | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | ConnectedFolder::ActiveRecord_Relation | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ConnectedAccount | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | Notification::ActiveRecord_AssociationRelation | ConnectedFolder | NilClass | ConnectedAccount | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ConnectedFolder | FalseClass | LinkedConnectionInvitation | FalseClass | LinkedConnection | FalseClass | ConnectedAccount | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | WebhookSubscription | NilClass | MicrosoftGraphWebhookSubscription | NilClass | ActiveStorage::Attachment | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | ConnectedAccount | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ActiveStorage::Attachment | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | LinkedConnection::ActiveRecord_Relation | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | ConnectedAccount | NilClass | LinkedConnectionInvitation | NilClass | Account | NilClass | ActiveStorage::Attachment | NilClass | ApiToken | NilClass | LinkedConnection | NilClass def set_value_for: (ActiveRecord__Scoping__ScopeRegistry_set_value_for_scope_type scope_type, Class model, ActiveRecord__Scoping__ScopeRegistry_set_value_for_value value) -> LinkedConnection::ActiveRecord_Relation?
This signature was generated using 11 samples from 1 application.
def set_value_for(scope_type, model, value) scope_type[model.name] = value end
def value_for(scope_type, model, skip_inherited_scope = false)
Experimental RBS support (using type sampling data from the type_fusion project).
type ActiveRecord__Scoping__ScopeRegistry_value_for_scope_type = | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ConnectedAccount | NilClass | ConnectedAccount | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | WebhookSubscription | NilClass | MicrosoftGraphWebhookSubscription | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | NilClass | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ActiveStorage::Attachment | NilClass | User | NilClass | Pay::Customer | NilClass | AccountUser | NilClass | Notification | Notification::ActiveRecord_AssociationRelation | ConnectedFolder | NilClass | LinkedConnectionInvitation | NilClass | LinkedConnection | NilClass | Account | NilClass | ActiveStorage::Attachment | NilClass | ApiToken | NilClass | ConnectedAccount | NilClass def value_for: (ActiveRecord__Scoping__ScopeRegistry_value_for_scope_type scope_type, Class model, ?bool skip_inherited_scope) -> Notification::ActiveRecord_AssociationRelation?
This signature was generated using 9 samples from 1 application.
def value_for(scope_type, model, skip_inherited_scope = false) return scope_type[model.name] if skip_inherited_scope klass = model base = model.base_class while klass <= base value = scope_type[klass.name] return value if value klass = klass.superclass end end