Files

Class 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
12:       def define_attribute_methods
13:         super(columns_hash.keys)
14:       end
defined_activerecord_methods() click to toggle source
    # File lib/active_record/attribute_methods.rb, line 27
27:       def defined_activerecord_methods
28:         active_record = ActiveRecord::Base
29:         super_klass   = ActiveRecord::Base.superclass
30:         methods =  active_record.public_instance_methods - super_klass.public_instance_methods
31:         methods += active_record.private_instance_methods - super_klass.private_instance_methods
32:         methods += active_record.protected_instance_methods - super_klass.protected_instance_methods
33:         methods.map {|m| m.to_s }.to_set
34:       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
19:       def instance_method_already_implemented?(method_name)
20:         method_name = method_name.to_s
21:         @_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
22:         @@_defined_activerecord_methods ||= defined_activerecord_methods
23:         raise DangerousAttributeError, "#{method_name} is defined by ActiveRecord" if @@_defined_activerecord_methods.include?(method_name)
24:         @_defined_class_methods.include?(method_name)
25:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.