aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/serialization.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-05-25 15:58:16 +0100
committerJon Leighton <j@jonathanleighton.com>2012-06-15 19:15:36 +0100
commite030f26ad3de98205edec9d8b59ecca9508cb57d (patch)
treec57029efc255a81b6487803e02d2e38e0f0082b3 /activerecord/lib/active_record/serialization.rb
parent61826bcca3481a85649be714a91a45ca909f2726 (diff)
downloadrails-e030f26ad3de98205edec9d8b59ecca9508cb57d.tar.gz
rails-e030f26ad3de98205edec9d8b59ecca9508cb57d.tar.bz2
rails-e030f26ad3de98205edec9d8b59ecca9508cb57d.zip
Simplify AR configuration code.
Get rid of ActiveModel::Configuration, make better use of ActiveSupport::Concern + class_attribute, etc.
Diffstat (limited to 'activerecord/lib/active_record/serialization.rb')
-rw-r--r--activerecord/lib/active_record/serialization.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/serialization.rb b/activerecord/lib/active_record/serialization.rb
index 41e3b92499..e8dd312a47 100644
--- a/activerecord/lib/active_record/serialization.rb
+++ b/activerecord/lib/active_record/serialization.rb
@@ -1,9 +1,21 @@
module ActiveRecord #:nodoc:
+ ActiveSupport.on_load(:active_record_config) do
+ mattr_accessor :include_root_in_json, instance_accessor: false
+ self.include_root_in_json = true
+ end
+
# = Active Record Serialization
module Serialization
extend ActiveSupport::Concern
include ActiveModel::Serializers::JSON
+ included do
+ singleton_class.class_eval do
+ remove_method :include_root_in_json
+ delegate :include_root_in_json, to: 'ActiveRecord::Model'
+ end
+ end
+
def serializable_hash(options = nil)
options = options.try(:clone) || {}