Módulo: Mongoid::Traversable::DiscriminatorAssignment Privado
- Definido en:
- lib/mongoid/traversable.rb
Overview
Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.
Módulo utilizado para anteponer a los diversos métodos discriminator_*=
Resumen del método de instancia colapsar
-
#discriminator_key=(value) ⇒ Objeto
privado
Establece la clave del discriminador.
-
#discriminator_value=(valor) ⇒ String
privado
Devuelve la clave de discriminador.
Detalles del método de instancia
#discriminator_key=(value) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece la clave del discriminador.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# Archivo 'lib/mongoid/traversable.rb', línea 134 def discriminator_key=(Valor) propagar Errors::InvalidDiscriminatorKeyTarget.Nuevo(sí mismo, superclase) si ¿hereditaria? _mongoid_clear_types si Valor Mongoid::Campos::Validadores::Macro.validate_field_name(sí mismo, Valor) Valor = Valor.to_s ::Mongoid::Traversable.__redefine(sí mismo, 'discriminator_key', Valor) else # Cuando la clave del discriminador se establece en nil, sustituye la definición de la clase # del lector de clave discriminador (proporcionado antes por class_attribute) # y volver a delegar en Mongoid. clase << sí mismo delegar :discriminator_key, para: ::Mongoid end end # Esta condición comprueba si la nueva clave de discriminador sobrescribiría # un campo existente. # Esta condición también verifica si la clase tiene algún descendiente, porque # if it doesn't, then it doesn't need a discriminator key. return si Campos.key?(discriminador_clave) || descendants.¿vacío? default_proc = -> { sí mismo.clase.valor_discriminador } Campo(discriminador_clave, Por defecto: default_proc, tipo: String) end |
#discriminator_value=(valor) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la clave de discriminador.
167 168 169 170 171 172 |
# Archivo 'lib/mongoid/traversable.rb', línea 167 def discriminator_value=(Valor) Valor ||= Nombre _mongoid_clear_types add_discriminator_mapping(Valor) @valor_discriminador = Valor end |