Files

Class/Module Index [+]

Quicksearch

ActiveRecord::AttributeMethods::ClassMethods

Public Instance Methods

define_attribute_methods() click to toggle source

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

# File lib/active_record/attribute_methods.rb, line 12
def define_attribute_methods
  super(columns_hash.keys)
end
defined_activerecord_methods() click to toggle source
# File lib/active_record/attribute_methods.rb, line 27
def defined_activerecord_methods
  active_record = ActiveRecord::Base
  super_klass   = ActiveRecord::Base.superclass
  methods =  active_record.public_instance_methods - super_klass.public_instance_methods
  methods += active_record.private_instance_methods - super_klass.private_instance_methods
  methods += active_record.protected_instance_methods - super_klass.protected_instance_methods
  methods.map {|m| m.to_s }.to_set
end
instance_method_already_implemented?(method_name) click to toggle source

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 lib/active_record/attribute_methods.rb, line 19
def instance_method_already_implemented?(method_name)
  method_name = method_name.to_s
  @_defined_class_methods         ||= ancestors.first(ancestors.index(ActiveRecord::Base)).sum([]) { |m| m.public_instance_methods(false) | m.private_instance_methods(false) | m.protected_instance_methods(false) }.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

[Validate]

Generated with the Darkfish Rdoc Generator 2.