A hash with column name symbols and callable values, with the value called to deserialize the column.
A hash with column name symbols and callable values, with the value called to serialize the column.
Freeze serialization metadata when freezing model class.
# File lib/sequel/plugins/serialization.rb, line 135 def freeze @deserialization_map.freeze @serialization_map.freeze @serialization_module.freeze if @serialization_module super end
# File lib/sequel/plugins/serialization.rb, line 123 def serialization_module Sequel::Deprecation.deprecate('Sequel::Model.serialization_module', 'There is no replacement') @serialization_module end
# File lib/sequel/plugins/serialization.rb, line 127 def serialization_module=(v) Sequel::Deprecation.deprecate('Sequel::Model.serialization_module=', 'There is no replacement') @serialization_module = v end
Create instance level reader that deserializes column values on request, and instance level writer that stores new deserialized values.
# File lib/sequel/plugins/serialization.rb, line 145 def serialize_attributes(format, *columns) if format.is_a?(Symbol) unless format = REGISTERED_FORMATS[format] raise(Error, "Unsupported serialization format: #{format} (valid formats: #{REGISTERED_FORMATS.keys.map(&:inspect).join})") end end serializer, deserializer = format raise(Error, "No columns given. The serialization plugin requires you specify which columns to serialize") if columns.empty? define_serialized_attribute_accessor(serializer, deserializer, *columns) end
The columns that will be serialized. This is only for backwards compatibility, use #serialization_map in new code.
# File lib/sequel/plugins/serialization.rb, line 158 def serialized_columns serialization_map.keys end