Methods
- A
- D
- I
- U
Instance Public 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 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
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