Módulo: Mongoid::Stateful

Incluído em:
Componível
Definido em:
build/mongoid-8.1/lib/mongoid/stateful.rb

Visão geral

Este módulo contém o comportamento para obter os vários estados pelos quais um documento pode fazer a transição.

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do atributo da instância

# Destruído=(valor) ➤ Objeto (somente gravação)

Define o atributo destruído

Parâmetros:

  • valor

    o valor para definir o atributo destruído.



9
10
11
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 9

def destruído=(valor)
  @destroyed = valor
end

#sinalizado_for_destroy=(valor) ➤ Objeto (somente gravação)

Define o atributo sinalizado_for_destroy

Parâmetros:

  • valor

    o valor para definir o atributo sinalizado_for_destroy para.



9
10
11
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 9

def sinalizado_for_destroy=(valor)
  @flog_for_destroy = valor
end

#previamente_new_record=(valor) ➤ Objeto (writeonly)

Define o atributo previamente_new_record

Parâmetros:

  • valor

    o valor para definir o atributo previamente_new_record.



9
10
11
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 9

def previamente_new_record=(valor)
  @previously_new_record = valor
end

Detalhes do método de instância

#destruído?verdadeiro | false

Retorna verdadeiro se Document tiver sido destruído com sucesso e falso se não tiver sido. Isso é determinado pela variável @destroyed e NÃO pela verificação do banco de dados de dados.

Exemplos:

O documento foi destruído?

person.destroyed?

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se destruído, falso se não.



81
82
83
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 81

def destruído?
  @destroyed ||= false
end

#sinalizado_for_destroy?verdadeiro | false Também conhecido como: marcado_for_destruction?, _destroy

Retorna se o documento foi ou não sinalizado para exclusão, mas ainda não foi destruído. Usado para extrações atômicas de documentos secundários.

Exemplos:

O documento está sinalizado?

document.flagged_for_destroy?

Retorna:

  • (verdadeiro | falso)

    Se o documento estiver sinalizado.



67
68
69
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 67

def sinalizado_for_destroy?
  @flog_for_destroy ||= false
end

#new_record=(new_value) ➤ Objeto



11
12
13
14
15
16
17
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 11

def new_record=(new_value)
  @new_record ||= false
  se @new_record && !new_value
    @previously_new_record = true
  end
  @new_record = new_value
end

#new_record?verdadeiro | false

Retorna verdadeiro se Document não tiver sido persistente no banco de dados de dados e falso, se tiver. Isso é determinado pela variável @new_record e NÃO se o objeto tiver um ID.

Exemplos:

O documento é novo?

person.new_record?

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se for novo, falso se não.



27
28
29
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 27

def new_record?
  @new_record ||= false
end

#persistiu?verdadeiro | false

Verifica se o documento foi salvo no banco de banco de dados. Retorna falso se o documento tiver sido destruído.

Exemplos:

O documento persiste?

person.persisted?

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se persistente, falso se não.



47
48
49
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 47

def persistiu?
  !new_record? && !destruído?
end

#previamente_new_record?verdadeiro | false

Retorna verdadeiro se este documento acabou de ser criado – ou seja, antes da última gravação, o objeto não existia no banco de banco de dados e new_record? teria retornado verdadeiro.

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se acabou de ser criado, falso se não.



36
37
38
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 36

def previamente_new_record?
  @previously_new_record ||= false
end

#previamente_persisted?verdadeiro | false

Verifica se o documento foi salvo anteriormente no banco de dados, mas agora foi excluído.

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se foi persistente, mas agora destruído, caso contrário falso.



56
57
58
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 56

def previamente_persisted?
  !new_record? && destruído?
end

#pushable?verdadeiro | false

Determine se o documento pode ser enviado.

Exemplos:

Isso é pushable?

person.pushable?

Retorna:

  • (verdadeiro | falso)

    O documento é novo e incorporado?



91
92
93
94
95
96
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 91

def pushable?
  new_record? &&
    embedded_many? &&
    _parent.persistiu? &&
    !_parent.delay_atomic_sets[atomic_path]
end

#somente leitura!verdadeiro | false

Sinaliza o documento como somente leitura. Fará com que um erro ReadonlyDocument seja gerado se o documento for tentado ser salvo, atualizado ou destruído.

Exemplos:

Sinalize o documento como somente leitura.

document.readonly!

Retorna:

  • (verdadeiro | falso)

    true se o documento foi marcado com êxito como somente leitura; caso contrário, false.



106
107
108
109
110
111
112
113
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 106

def somente leitura!
  se Mongoid.legacy_readonly
    Mongoid::Avisos.write_legacy_readonly
    false
  mais
    @readonly = true
  end
end

#somente leitura?verdadeiro | false

O documento é somente leitura?

Exemplos:

O documento é somente leitura?

document.readonly?

Retorna:

  • (verdadeiro | falso)

    Se o documento for somente leitura.



121
122
123
124
125
126
127
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 121

def somente leitura?
  se Mongoid.legacy_readonly
    __selected_fields != nada
  mais
    @readonly ||= false
  end
end

#configurável?verdadeiro | false

Determine se o documento pode ser definido.

Exemplos:

Isso é configurável?

person.settable?

Retorna:

  • (verdadeiro | falso)

    Este documento é um novo incorporado?



135
136
137
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 135

def configurável?
  new_record? && embedded_one? && _parent.persistiu?
end

#atualizável?verdadeiro | false

O documento é atualizável?

Exemplos:

O documento é atualizável?

person.updateable?

Retorna:

  • (verdadeiro | falso)

    Se o documento for alterado e persistente.



145
146
147
# File 'build/mongoid-8.1/lib/mongoid/stateful.rb', linha 145

def atualizável?
  persistiu? && mudou?
end