Módulo: Mongoid::Scopable::ClassMethods
- Definido em:
- lib/mongoid/scopable.rb
Recolhimento do Resumo do método de instância
-
#default_scopable? ➤ verdadeiro | false
A classe pode ter o escopo padrão aplicado?
-
#default_scope(value = nil, &block) ➤ Proc
Adicione um escopo padrão ao modelo.
-
#queryable ⇒ Criteria
privado
Obtenha um queryable, seja o último na pilha de escopo ou um novo.
-
#scope(nome, valor, & bloco) ➤ Objeto
Crie um escopo que possa ser acessado a partir do nível da classe ou encadeado a critérios pelo nome fornecido.
-
#scoped(options = nil) ➤ Critérios
Obtenha um critério para o documento com escopo normal.
-
#scopes ➤ Hash
Retorna um hash de todos os escopos definidos para essa classe, incluindo escopos definidos em classes ancestrais.
-
#sem escopo ➤ Critérios | Objeto
Obtenha os critérios sem nenhum escopo aplicado.
-
#with_default_scope ➤ Critérios (também: #criteria)
Obtenha um critério com o escopo padrão aplicado, se possível.
-
#with_scope(critérios) ➤ Critérios
Envia os critérios fornecidos para a pilha de escopo e os remove depois que o bloco fornecido é gerado.
-
#sem_default_scope ➤ Objeto
Execute o bloco sem aplicar o escopo padrão.
Detalhes do método de instância
#default_scopable? ➤ verdadeiro | false
A classe pode ter o escopo padrão aplicado?
90 91 92 |
# Arquivo 'lib/mongoid/scopable.rb', linha 90 def default_scopeble? default_scoping? && !Threaded.sem_default_scope?(auto) end |
#default_scope(value = nil, &block) ➤ Proc
Adicione um escopo padrão ao modelo. Esse escopo será aplicado a todos os critérios, a menos que #unscoped seja especificado.
78 79 80 81 82 |
# Arquivo 'lib/mongoid/scopable.rb', linha 78 def default_scope(valor = nada, &noum: bloco ; verb: bloquear) valor = proc(&noum: bloco ; verb: bloquear) se block_given? check_scope_validity(valor) auto.default_scoping = process_default_scope(valor) end |
#queryable ⇒ Criteria
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha um queryable, seja o último na pilha de escopo ou um novo.
102 103 104 105 106 |
# Arquivo 'lib/mongoid/scopable.rb', linha 102 def consultável crit = Threaded.current_scope(auto) || critério.Novo(auto) crit. = true se crit.classe. && !crit.classe.cíclica? crit end |
#scope(nome, valor, & bloco) ➤ Objeto
Crie um escopo que possa ser acessado a partir do nível da classe ou encadeado a critérios pelo nome fornecido.
127 128 129 130 131 132 133 134 135 136 |
# Arquivo 'lib/mongoid/scopable.rb', linha 127 def escopo(name, valor, &noum: bloco ; verb: bloquear) Normalizado = name.to_sym check_scope_validity(valor) check_scope_name(Normalizado) _declared_scopes[Normalizado] = { escopo: valor, extensão: Módulo.Novo(&noum: bloco ; verb: bloquear) } define_scope_method(Normalizado) end |
#scoped(options = nil) ➤ Critérios
Isso forçará a aplicação do escopo padrão.
Obtenha um critério para o documento com escopo normal.
153 154 155 |
# Arquivo 'lib/mongoid/scopable.rb', linha 153 def com escopo( = nada) consultável.com escopo() end |
#scopes ➤ Hash
Retorna um hash de todos os escopos definidos para essa classe, incluindo escopos definidos em classes ancestrais.
48 49 50 51 52 53 54 |
# Arquivo 'lib/mongoid/scopable.rb', linha 48 def scopes definido_scopes = {} ancestrais.Reverse_each fazer |classe| definido_scopes.mesclar!(classe._declared_scopes) se classe.respond_to?(:_declared_scopes) end definido_scopes.congelar end |
#sem escopo ➤ Critérios | Objeto
Isso forçará o escopo padrão, bem como qualquer escopo aplicado usando .with_scope, a ser removido.
Obtenha os critérios sem nenhum escopo aplicado.
172 173 174 175 176 177 178 179 180 181 182 |
# Arquivo 'lib/mongoid/scopable.rb', linha 172 def sem escopo se block_given? sem_default_scope fazer with_scope(nada) fazer rendimento(auto) end end mais consultável.sem escopo end end |
#with_default_scope ➤ Critérios Também conhecido como: critério
Obtenha um critério com o escopo padrão aplicado, se possível.
190 191 192 |
# Arquivo 'lib/mongoid/scopable.rb', linha 190 def with_default_scope consultável.with_default_scope end |
#with_scope(critérios) ➤ Critérios
Envia os critérios fornecidos para a pilha de escopo e os remove depois que o bloco fornecido é gerado.
204 205 206 207 208 209 210 211 212 |
# Arquivo 'lib/mongoid/scopable.rb', linha 204 def with_scope(critério) anterior = Threaded.current_scope(auto) Threaded.set_current_scope(critério, auto) começar rendimento critério garantir Threaded.set_current_scope(anterior, auto) end end |
#sem_default_scope ➤ Objeto
Execute o bloco sem aplicar o escopo padrão.
222 223 224 225 226 227 |
# Arquivo 'lib/mongoid/scopable.rb', linha 222 def sem_default_scope Threaded.begin_without_default_scope(auto) rendimento garantir Threaded.exit_without_default_scope(auto) end |