Módulo: Mongoid::Stateful

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

Visão geral

Módulo Mixin incluído no Mongoid::Document que adiciona comportamento para obter os vários estados do ciclo de vida 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.



7
8
9
# Arquivo 'lib/mongoid/stateful.rb', linha 7

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.



7
8
9
# Arquivo 'lib/mongoid/stateful.rb', linha 7

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.



7
8
9
# Arquivo 'lib/mongoid/stateful.rb', linha 7

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.

Exemplos:

O documento foi destruído?

person.destroyed?

Retorna:

  • (verdadeiro | falso)

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



82
83
84
# Arquivo 'lib/mongoid/stateful.rb', linha 82

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.



68
69
70
# Arquivo 'lib/mongoid/stateful.rb', linha 68

def sinalizado_for_destroy?
  @flog_for_destroy ||= false
end

#new_record=(new_value) ➤ true | false

Define se o documento persistiu no banco de banco de dados.

Parâmetros:

  • new_value (verdadeiro | falso)

    O valor a ser definido.

Retorna:

  • (verdadeiro | falso)

    O valor definido.



14
15
16
17
18
# Arquivo 'lib/mongoid/stateful.rb', linha 14

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

#new_record?verdadeiro | false

Retorna verdadeiro se o documento 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.



28
29
30
# Arquivo 'lib/mongoid/stateful.rb', linha 28

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.



48
49
50
# Arquivo 'lib/mongoid/stateful.rb', linha 48

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

#previamente_new_record?verdadeiro | false

Returns true se este document foi acabado de ser criado -- ou seja, antes da última gravação, o objeto não existia no banco de dados e new_record? teria retornado verdadeiro.

Retorna:

  • (verdadeiro | falso)

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



37
38
39
# Arquivo 'lib/mongoid/stateful.rb', linha 37

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.



57
58
59
# Arquivo 'lib/mongoid/stateful.rb', linha 57

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?



92
93
94
95
96
97
# Arquivo 'lib/mongoid/stateful.rb', linha 92

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.



107
108
109
110
111
112
113
114
# Arquivo 'lib/mongoid/stateful.rb', linha 107

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.



122
123
124
125
126
127
128
# Arquivo 'lib/mongoid/stateful.rb', linha 122

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?



136
137
138
# Arquivo 'lib/mongoid/stateful.rb', linha 136

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.



146
147
148
# Arquivo 'lib/mongoid/stateful.rb', linha 146

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