Módulo: Mongoid::Stateful

Incluido en:
Compuesto
Definido en:
lib/mongoid/stateful.rb

Overview

Módulo mixin incluido en Mongoid::Document que añade comportamiento para obtener los diversos estados del ciclo de vida por los que puede transicionar un documento.

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles de atributo de instancias

#destroyed=(valor) ⇒ Objeto (solo escritura)

Configura el atributo destruido

Parámetros:

  • Valor

    el valor al que se debe configurar el atributo destroyed.



7
8
9
# Archivo 'lib/mongoid/stateful.rb', línea 7

def destruido=(Valor)
  @destroyed = Valor
end

#flagged_for_destroy=(valor) ⇒ Object (solo escritura)

Configura el atributo flagged_for_destroy

Parámetros:

  • Valor

    el valor para establecer el atributo flagged_for_destroy en.



7
8
9
# Archivo 'lib/mongoid/stateful.rb', línea 7

def flagged_for_destroy=(Valor)
  @flagged_for_destroy = Valor
end

#previously_new_record=(valor) ⇒ Objeto (solo escritura)

Establece el atributo previously_new_record

Parámetros:

  • Valor

    el valor para establecer el atributo previously_new_record a.



7
8
9
# Archivo 'lib/mongoid/stateful.rb', línea 7

def registro_anterior=(Valor)
  @previously_new_record = Valor
end

Detalles del método de instancia

#¿destruido?true | false

Devuelve verdadero si el Document se ha destruido correctamente, y falso si no lo ha hecho. Esto se determina mediante la variable @destroyed y NO comprobando la base de datos.

Ejemplos:

¿El documento está destruido?

person.destroyed?

Devuelve:

  • (true | false)

    Verdadero si ha sido destruido, falso si no lo ha sido.



82
83
84
# Archivo 'lib/mongoid/stateful.rb', línea 82

def ¿destruido?
  @destroyed ||= false
end

#flagged_for_destroy?true | false También conocido como: marked_for_destruction?, _destroy

Devuelve si el documento ha sido marcado para eliminación, pero aún no ha sido destruido. Se utiliza para la extracción atómica de documentos secundarios.

Ejemplos:

¿Está marcado el documento?

document.flagged_for_destroy?

Devuelve:

  • (true | false)

    Si el documento está marcado.



68
69
70
# Archivo 'lib/mongoid/stateful.rb', línea 68

def flagged_for_destroy?
  @flagged_for_destroy ||= false
end

#new_record=({new_value}) ⇒ true | false

Establece si el documento se ha guardado en la base de datos.

Parámetros:

  • nuevo valor (true | false)

    El valor a establecer.

Devuelve:

  • (true | false)

    El valor establecido.



14
15
16
17
18
# Archivo 'lib/mongoid/stateful.rb', línea 14

def nuevo_registro=(nuevo valor)
  @nuevo_registro ||= false
  @previously_new_record = true si @nuevo_registro && !nuevo valor
  @nuevo_registro = nuevo valor
end

#¿nuevo_registro?true | false

Devuelve true si el documento no se ha guardado en la base de datos y false si se ha guardado. Esto está determinado por la variable @new_record y NO por si el objeto tiene un id.

Ejemplos:

¿El documento es nuevo?

person.new_record?

Devuelve:

  • (true | false)

    Verdadero si es nuevo, falso en caso contrario.



28
29
30
# Archivo 'lib/mongoid/stateful.rb', línea 28

def nuevo_registro?
  @nuevo_registro ||= false
end

#persisted?true | false

Verifica si el documento se ha guardado en la base de datos. Devuelve falso si el documento ha sido destruido.

Ejemplos:

¿El documento está persistido?

person.persisted?

Devuelve:

  • (true | false)

    Verdadero si se conserva, falso si no.



48
49
50
# Archivo 'lib/mongoid/stateful.rb', línea 48

def ¿persistió?
  !nuevo_registro? && !¿destruido?
end

#previously_new_record?true | false

Devuelve verdadero si este document fue recientemente creado, es decir, antes de la última guarda, el objeto no existía en la base de datos y ¿new_record? hubiera devuelto verdadero.

Devuelve:

  • (true | false)

    Verdadero si acaba de ser creado, falso si no.



37
38
39
# Archivo 'lib/mongoid/stateful.rb', línea 37

def registro_previamente_nuevo?
  @previously_new_record ||= false
end

#anteriormente_persistido?true | false

Comprueba si el documento se guardó previamente en la base de datos pero ahora se ha borrado.

Devuelve:

  • (true | false)

    Verdadero si se persistió pero ahora está destruido; de lo contrario, falso.



57
58
59
# Archivo 'lib/mongoid/stateful.rb', línea 57

def previously_persisted?
  !nuevo_registro? && ¿destruido?
end

#¿impulsable?true | false

Determina si el documento puede ser enviado.

Ejemplos:

¿Esto se puede empujar?

person.pushable?

Devuelve:

  • (true | false)

    ¿El documento es nuevo y está integrado?



92
93
94
95
96
97
# Archivo 'lib/mongoid/stateful.rb', línea 92

def pushable?
  nuevo_registro? &&
    embedded_many? &&
    _parent.¿persistió? &&
    !_parent.delayed_atomic_sets[atomic_path]
end

#readonly!verdadero | falso

Marca el documento como de solo lectura. Causará un error de ReadonlyDocument si se intenta guardar, actualizar o destruir el documento.

Ejemplos:

Marca el documento como solo lectura.

document.readonly!

Devuelve:

  • (true | false)

    Verdadero si el documento se marcó correctamente como solo lectura, falso en caso contrario.



107
108
109
110
111
112
113
114
# Archivo 'lib/mongoid/stateful.rb', línea 107

def readonly!
  si Mongoid.legacy_readonly
    Mongoid::Advertencias.warn_legacy_readonly
    false
  else
    @readonly = true
  end
end

#readonly?true | false

¿El documento es de solo lectura?

Ejemplos:

¿El documento es de solo lectura?

document.readonly?

Devuelve:

  • (true | false)

    Si el documento es de solo lectura.



122
123
124
125
126
127
128
# Archivo 'lib/mongoid/stateful.rb', línea 122

def ¿solo lectura?
  si Mongoid.legacy_readonly
    !__selected_fields.nil?
  else
    @readonly ||= false
  end
end

#¿ajustable?true | false

Determine si el documento se puede establecer.

Ejemplos:

¿Se puede establecer esto?

person.settable?

Devuelve:

  • (true | false)

    ¿Este documento es uno nuevo con elementos incrustados?



136
137
138
# Archivo 'lib/mongoid/stateful.rb', línea 136

def ¿configurable?
  nuevo_registro? && ¿uno_incrustado? && _parent.¿persistió?
end

#¿actualizable?true | false

¿Se puede actualizar el documento?

Ejemplos:

¿Se puede actualizar el documento?

person.updateable?

Devuelve:

  • (true | false)

    Si se cambia y almacena el documento.



146
147
148
# Archivo 'lib/mongoid/stateful.rb', línea 146

def ¿actualizable?
  ¿persistió? && ¿Cambiado?
end