diff options
author | Yves Senn <yves.senn@gmail.com> | 2013-07-15 10:21:18 -0700 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2013-07-15 10:21:18 -0700 |
commit | d7a1f98d8c237aabcd5a3f315fe00c7a43836209 (patch) | |
tree | 974f79e35beac99225114db5b881586441af0a87 /activerecord | |
parent | ea7620dce2127ab913dbaf7a4d369fd382623346 (diff) | |
parent | 0d4075fb47db388f1365ce4784401fa4454a2499 (diff) | |
download | rails-d7a1f98d8c237aabcd5a3f315fe00c7a43836209.tar.gz rails-d7a1f98d8c237aabcd5a3f315fe00c7a43836209.tar.bz2 rails-d7a1f98d8c237aabcd5a3f315fe00c7a43836209.zip |
Merge pull request #11282 from arunagw/deprecation-removed-attribute-missing-activerecord
Remove deprecated `attribute_missing`.
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/CHANGELOG.md | 4 | ||||
-rw-r--r-- | activerecord/lib/active_record/attribute_methods.rb | 14 | ||||
-rw-r--r-- | activerecord/test/cases/attribute_methods_test.rb | 15 |
3 files changed, 4 insertions, 29 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 624c26e759..3db7dbd425 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,7 @@ +* Remove deprecation warning from `attribute_missing` for attributes that are columns. + + *Arun Agrawal* + * Remove extra decrement of transaction deep level. Fixes: #4566 diff --git a/activerecord/lib/active_record/attribute_methods.rb b/activerecord/lib/active_record/attribute_methods.rb index 0b96f88197..208da2cb77 100644 --- a/activerecord/lib/active_record/attribute_methods.rb +++ b/activerecord/lib/active_record/attribute_methods.rb @@ -176,20 +176,6 @@ module ActiveRecord end end - def attribute_missing(match, *args, &block) # :nodoc: - if self.class.columns_hash[match.attr_name] - ActiveSupport::Deprecation.warn( - "The method `#{match.method_name}', matching the attribute `#{match.attr_name}' has " \ - "dispatched through method_missing. This shouldn't happen, because `#{match.attr_name}' " \ - "is a column of the table. If this error has happened through normal usage of Active " \ - "Record (rather than through your own code or external libraries), please report it as " \ - "a bug." - ) - end - - super - end - # A Person object with a name attribute can ask <tt>person.respond_to?(:name)</tt>, # <tt>person.respond_to?(:name=)</tt>, and <tt>person.respond_to?(:name?)</tt> # which will all return +true+. It also define the attribute methods if they have diff --git a/activerecord/test/cases/attribute_methods_test.rb b/activerecord/test/cases/attribute_methods_test.rb index 170c4cd9cd..baba55ea43 100644 --- a/activerecord/test/cases/attribute_methods_test.rb +++ b/activerecord/test/cases/attribute_methods_test.rb @@ -759,21 +759,6 @@ class AttributeMethodsTest < ActiveRecord::TestCase assert subklass.method_defined?(:id), "subklass is missing id method" end - def test_dispatching_column_attributes_through_method_missing_deprecated - Topic.define_attribute_methods - - topic = Topic.new(:id => 5) - topic.id = 5 - - topic.method(:id).owner.send(:undef_method, :id) - - assert_deprecated do - assert_equal 5, topic.id - end - ensure - Topic.undefine_attribute_methods - end - def test_read_attribute_with_nil_should_not_asplode assert_equal nil, Topic.new.read_attribute(nil) end |