mirror of https://github.com/rails/rails
"instance_methods" includes public and protected
This commit is contained in:
parent
de3603c255
commit
1856e975c3
|
@ -18,7 +18,7 @@ module ActiveRecord
|
||||||
# method is defined by Active Record though.
|
# method is defined by Active Record though.
|
||||||
def instance_method_already_implemented?(method_name)
|
def instance_method_already_implemented?(method_name)
|
||||||
method_name = method_name.to_s
|
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_class_methods ||= ancestors.first(ancestors.index(ActiveRecord::Base)).sum([]) { |m| m.instance_methods(false) | m.private_instance_methods(false) }.map {|m| m.to_s }.to_set
|
||||||
@@_defined_activerecord_methods ||= defined_activerecord_methods
|
@@_defined_activerecord_methods ||= defined_activerecord_methods
|
||||||
raise DangerousAttributeError, "#{method_name} is defined by ActiveRecord" if @@_defined_activerecord_methods.include?(method_name)
|
raise DangerousAttributeError, "#{method_name} is defined by ActiveRecord" if @@_defined_activerecord_methods.include?(method_name)
|
||||||
@_defined_class_methods.include?(method_name)
|
@_defined_class_methods.include?(method_name)
|
||||||
|
|
Loading…
Reference in New Issue