aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2014-06-14 04:46:05 +0930
committerMatthew Draper <matthew@trebex.net>2014-06-14 04:46:05 +0930
commit584498a61f56211871698a1db67dd9626c3cadfe (patch)
tree13c328f1feefddcc4a2932b740af1e9c28485f6f /activerecord
parente61e1b30a5751e1e216b18edfb49661b511d7ce2 (diff)
parent6ea1481d6991aa6eb67b9fb135b778908922d675 (diff)
downloadrails-584498a61f56211871698a1db67dd9626c3cadfe.tar.gz
rails-584498a61f56211871698a1db67dd9626c3cadfe.tar.bz2
rails-584498a61f56211871698a1db67dd9626c3cadfe.zip
Merge pull request #15689 from sgrif/sg-attribute-methods
Ensure we always define attribute methods
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/core.rb1
-rw-r--r--activerecord/test/cases/serialization_test.rb8
2 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb
index 348bee1d6e..6c089b243e 100644
--- a/activerecord/lib/active_record/core.rb
+++ b/activerecord/lib/active_record/core.rb
@@ -262,6 +262,7 @@ module ActiveRecord
init_internals
initialize_internals_callback
+ self.class.define_attribute_methods
# +options+ argument is only needed to make protected_attributes gem easier to hook.
# Remove it when we drop support to this gem.
init_attributes(attributes, options) if attributes
diff --git a/activerecord/test/cases/serialization_test.rb b/activerecord/test/cases/serialization_test.rb
index 7dd1f10ce9..3f52e80e11 100644
--- a/activerecord/test/cases/serialization_test.rb
+++ b/activerecord/test/cases/serialization_test.rb
@@ -69,6 +69,14 @@ class SerializationTest < ActiveRecord::TestCase
ActiveRecord::Base.include_root_in_json = original_root_in_json
end
+ def test_read_attribute_for_serialization_with_format_without_method_missing
+ klazz = Class.new(ActiveRecord::Base)
+ klazz.table_name = 'books'
+
+ book = klazz.new
+ assert_nil book.read_attribute_for_serialization(:format)
+ end
+
def test_read_attribute_for_serialization_with_format_after_init
klazz = Class.new(ActiveRecord::Base)
klazz.table_name = 'books'