Module: Mongoid::Attributes::ClassMethods

Defined in:
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



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# File 'lib/mongoid/attributes.rb', line 311

def alias_attribute(name, original)
  aliased_fields[name.to_s] = original.to_s
  class_eval "    alias \#{name}  \#{original}\n    alias \#{name}= \#{original}=\n    alias \#{name}? \#{original}?\n    alias \#{name}_change   \#{original}_change\n    alias \#{name}_changed? \#{original}_changed?\n    alias reset_\#{name}!   reset_\#{original}!\n    alias reset_\#{name}_to_default!   reset_\#{original}_to_default!\n    alias \#{name}_was      \#{original}_was\n    alias \#{name}_will_change! \#{original}_will_change!\n    alias \#{name}_before_type_cast \#{original}_before_type_cast\n  RUBY\nend\n"