Methods
A
D
I
U
Instance Public methods
attribute_methods_generated?()
# File activerecord/lib/active_record/attribute_methods.rb, line 18
def attribute_methods_generated?
  @attribute_methods_generated ||= false
end
define_attribute_methods()

Generates all the attribute related methods for columns in the database accessors, mutators and query methods.

# File activerecord/lib/active_record/attribute_methods.rb, line 12
def define_attribute_methods
  return if attribute_methods_generated?
  super(column_names)
  @attribute_methods_generated = true
end
defined_activerecord_methods()
# File activerecord/lib/active_record/attribute_methods.rb, line 42
def defined_activerecord_methods
  active_record = ActiveRecord::Base
  super_klass   = ActiveRecord::Base.superclass
  methods = (active_record.instance_methods - super_klass.instance_methods) +
            (active_record.private_instance_methods - super_klass.private_instance_methods)
  methods.map {|m| m.to_s }.to_set
end
instance_method_already_implemented?(method_name)

Checks whether the method is defined in the model or any of its subclasses that also derive from Active Record. Raises DangerousAttributeError if the method is defined by Active Record though.

# File activerecord/lib/active_record/attribute_methods.rb, line 30
def instance_method_already_implemented?(method_name)
  method_name = method_name.to_s
  index = ancestors.index(ActiveRecord::Base) || ancestors.length
  @_defined_class_methods         ||= ancestors.first(index).map { |m|
    m.instance_methods(false) | m.private_instance_methods(false)
  }.flatten.map {|m| m.to_s }.to_set

  @@_defined_activerecord_methods ||= defined_activerecord_methods
  raise DangerousAttributeError, "#{method_name} is defined by ActiveRecord" if @@_defined_activerecord_methods.include?(method_name)
  @_defined_class_methods.include?(method_name)
end
undefine_attribute_methods(*args)
# File activerecord/lib/active_record/attribute_methods.rb, line 22
def undefine_attribute_methods(*args)
  super
  @attribute_methods_generated = false
end