Module: ActiveRecordSerializationSafety

Defined in:
lib/freedom_patches/active_record_disable_serialization.rb

Defined Under Namespace

Classes: BlockedSerializationError

Instance Method Summary collapse

Instance Method Details

#serializable_hash(options = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/freedom_patches/active_record_disable_serialization.rb', line 7

def serializable_hash(options = nil)
  if options.nil? || options[:only].nil?
    message =
      "Serializing ActiveRecord models (#{self.class.name}) without specifying fields is not allowed. Use a Serializer, or pass the :only option to #serializable_hash. More info: https://meta.discourse.org/t/-/314495"

    if Rails.env.production?
      Rails.logger.info(message)
    else
      raise BlockedSerializationError.new(message)
    end
  end
  super
end