diff options
author | Jon Leighton <j@jonathanleighton.com> | 2011-09-13 23:52:38 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2011-09-14 00:00:37 +0100 |
commit | 3b8a7cf2a7b2ffce671ca7f655de736c1054edbc (patch) | |
tree | 60884e21ad3458b27f4c9cd116e9f09a7b956078 /activerecord/test/cases | |
parent | 778c82bea69eb15908a8bb77999ceac0a749242d (diff) | |
download | rails-3b8a7cf2a7b2ffce671ca7f655de736c1054edbc.tar.gz rails-3b8a7cf2a7b2ffce671ca7f655de736c1054edbc.tar.bz2 rails-3b8a7cf2a7b2ffce671ca7f655de736c1054edbc.zip |
Stop trying to be clever about when to define attribute methods.
There is no meaningful performance penalty in defining attribute
methods, since it only happens once.
There is also no reason *not* to define them, since they get thrown in
an included module, so they will not 'overwrite' anything. In fact, this
is desirable, since it allows us to call super.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/attribute_methods_test.rb | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/activerecord/test/cases/attribute_methods_test.rb b/activerecord/test/cases/attribute_methods_test.rb index e324a252dd..b1b41fed0d 100644 --- a/activerecord/test/cases/attribute_methods_test.rb +++ b/activerecord/test/cases/attribute_methods_test.rb @@ -431,30 +431,6 @@ class AttributeMethodsTest < ActiveRecord::TestCase assert topic.is_test? end - def test_kernel_methods_not_implemented_in_activerecord - %w(test name display y).each do |method| - assert !ActiveRecord::Base.instance_method_already_implemented?(method), "##{method} is defined" - end - end - - def test_defined_kernel_methods_implemented_in_model - %w(test name display y).each do |method| - klass = Class.new ActiveRecord::Base - klass.class_eval "def #{method}() 'defined #{method}' end" - assert klass.instance_method_already_implemented?(method), "##{method} is not defined" - end - end - - def test_defined_kernel_methods_implemented_in_model_abstract_subclass - %w(test name display y).each do |method| - abstract = Class.new ActiveRecord::Base - abstract.class_eval "def #{method}() 'defined #{method}' end" - abstract.abstract_class = true - klass = Class.new abstract - assert klass.instance_method_already_implemented?(method), "##{method} is not defined" - end - end - def test_raises_dangerous_attribute_error_when_defining_activerecord_method_in_model %w(save create_or_update).each do |method| klass = Class.new ActiveRecord::Base |