Módulo: Mongoid::Attributes::ClassMethods

Definido em:
lib/mongoid/attributes.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#alias_attribute(nome, original) ➤ Objeto

Alias do nome fornecido para o campo original. Isso fornecerá um getter, setter, verificação de existência e todos os métodos de atributo sujos com alias.

Exemplos:

Nome alternativo do atributo.

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

Parâmetros:

  • name (Símbolo)

    O novo nome.

  • Original (Símbolo)

    O nome original.



325
326
327
328
329
330
331
332
333
334
335
336
337
338
# Arquivo 'lib/mongoid/attributes.rb', linha 325

def alias_attribute(name, Original)
  aliased_fields[name.to_s] = Original.to_s

  alias_method name, Original
  alias_method "#{name}=", "#{originais}="
  alias_method "#{nome}?", "#{original}?"
  alias_method "#{name}_change", "#{original}_change"
  alias_method "#{name}_changed?", "#{original}_changed?"
  alias_method "reinício_#{nome}!", "reinício_#{original}!"
  alias_method "reinício_#{nome}_to_default!", "reinício_#{original}_to_default!"
  alias_method "#{name}_was", "#{original}_was"
  alias_method "#{name}_ will_change!", "#{original}_ will_change!"
  alias_method "#{name}_before_type_cast", "#{original}_before_type_cast"
end

#unalias_attribute(name) ➤ Objeto

Remove um alias de campo.

Parâmetros:

  • name (Símbolo)

    O nome do campo com nome alternativo a ser removido.



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

def unalias_attribute(name)
  a menos que aliased_fields.excluir(name.to_s)
    aumentar AttributeError, "O campo #{name} não é um campo comnome alternativo"
  end

  remove_method name
  remove_method "#{name}="
  remove_method "#{nome}?"
  remove_method "#{name}_change"
  remove_method "#{name}_changed?"
  remove_method "reinício_#{nome}!"
  remove_method "reinício_#{nome}_to_default!"
  remove_method "#{name}_was"
  remove_method "#{name}_ will_change!"
  remove_method "#{name}_before_type_cast"
end