Module: Mongoid::Attributes::ClassMethods

Defined in:
build/mongoid-7.1/lib/mongoid/attributes.rb

Instance Method Summary collapse

Instance Method Details

#alias_attribute(name, original) ⇒ Object

Alias the provided name to the original field. This will provide an aliased getter, setter, existence check, and all dirty attribute methods.

Examples:

Alias the attribute.

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

Parameters:

  • name (Symbol)

    The new name.

  • original (Symbol)

    The original name.

Since:

  • 2.3.0



330
331
332
333
334
335
336
337
338
339
340
341
342
343
# File 'build/mongoid-7.1/lib/mongoid/attributes.rb', line 330

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

  alias_method name, original
  alias_method "#{name}=", "#{original}="
  alias_method "#{name}?", "#{original}?"
  alias_method "#{name}_change", "#{original}_change"
  alias_method "#{name}_changed?", "#{original}_changed?"
  alias_method "reset_#{name}!", "reset_#{original}!"
  alias_method "reset_#{name}_to_default!", "reset_#{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