Módulo: Mongoid::Atributos::Métodos de clase

Definido en:
lib/mongoid/attributes.rb

Resumen del método de instancia colapsar

Detalles del método de instancia

#alias_attribute(nombre, original) ⇒ Objeto

Asignar el nombre proporcionado como alias al campo original. Esto proporcionará un getter con alias, un setter, una verificación de existencia y todos los métodos de atributos sucios.

Ejemplos:

Asignar un alias al atributo.

class Product
  include Mongoid::Document
  field :price, :type => Float
  alias_attribute :cost, :price
end

Parámetros:

  • Nombre (Símbolo)

    El nuevo nombre.

  • original (Símbolo)

    El nombre original.



325
326
327
328
329
330
331
332
333
334
335
336
337
338
# Archivo 'lib/mongoid/attributes.rb', línea 325

def alias_attribute(Nombre, original)
  campos_alias[Nombre.to_s] = original.to_s

  alias_method Nombre, original
  alias_method "#{name}=", "#{original}="
  alias_method "#{name}?", "#{original}?"
  alias_method "#{name}_change", "#{original}_cambio"
  alias_method "#{name}_changed?", "#{original}_changed?"
  alias_method "reset_#{name}!", "reset_#{original}!"
  alias_method "restablecer_#{nombre}_a_los_valores_predeterminados!", "reset_#{original}_to_default!"
  alias_method "#{nombre}_fue", "#{original}_was"
  alias_method "#{nombre}_cambiará!", "#{original}_will_change!"
  alias_method "#{nombre}_antes_de_la_conversión_de_tipo", "#{original}_before_type_cast"
end

#unalias_attribute(nombre) ⇒ Objeto

Elimina un alias de campo.

Parámetros:

  • Nombre (Símbolo)

    El nombre del campo con alias que se debe remover.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
# Archivo 'lib/mongoid/attributes.rb', línea 343

def unalias_attribute(Nombre)
  a menos que campos_alias.borrar(Nombre.to_s)
    propagar AttributeError, "Elcampo #{name} no es un campo conalias"
  end

  método_eliminar Nombre
  método_eliminar "#{name}="
  método_eliminar "#{name}?"
  método_eliminar "#{name}_change"
  método_eliminar "#{name}_changed?"
  método_eliminar "reset_#{name}!"
  método_eliminar "restablecer_#{nombre}_a_los_valores_predeterminados!"
  método_eliminar "#{nombre}_fue"
  método_eliminar "#{nombre}_cambiará!"
  método_eliminar "#{nombre}_antes_de_la_conversión_de_tipo"
end