1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/lib/active_record/serialization.rb
Jon Leighton e030f26ad3 Simplify AR configuration code.
Get rid of ActiveModel::Configuration, make better use of
ActiveSupport::Concern + class_attribute, etc.
2012-06-15 19:15:36 +01:00

30 lines
813 B
Ruby

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) || {}
options[:except] = Array(options[:except]).map { |n| n.to_s }
options[:except] |= Array(self.class.inheritance_column)
super(options)
end
end
end
require 'active_record/serializers/xml_serializer'