module Mongoid::Attributes::ClassMethods

Public Instance Methods

alias_attribute(name, original) click to toggle source

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

@example Alias the attribute.

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

@param [ Symbol ] name The new name. @param [ Symbol ] original The original name.

@since 2.3.0

# File lib/mongoid/attributes.rb, line 364
def alias_attribute(name, original)
  class_eval <<-RUBY
    alias #{name}  #{original}
    alias #{name}= #{original}=
    alias #{name}? #{original}?
    alias #{name}_change   #{original}_change
    alias #{name}_changed? #{original}_changed?
    alias reset_#{name}!   reset_#{original}!
    alias #{name}_was      #{original}_was
    alias #{name}_will_change! #{original}_will_change!
    alias #{name}_before_type_cast #{original}_before_type_cast
  RUBY
end