1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
6 # Emulate pre-rails5.0 behavior by having a interpreting NULL/nil as
7 # some other default value.
8 class WithDefault < ActiveModel::Type::Value
9 include ActiveModel::Type::Helpers::Mutable
15 def deserialize(value)
18 elsif value.is_a?(::String)
19 SafeJSON.load(value) rescue self.default_value
34 class Hash < JsonbType::WithDefault
40 class Array < JsonbType::WithDefault