module Sequel::Plugins::Serialization::InstanceMethods
def _refresh(*)
def _refresh(*) @deserialized_values = {} super end
def before_save
def before_save serialize_deserialized_values super end
def deserialize_value(column, v)
Deserialize the column value. Called when the model column accessor is called to
def deserialize_value(column, v) unless v.nil? raise Sequel::Error, "no entry in deserialization_map for #{column.inspect}" unless callable = model.deserialization_map[column] callable.call(v) end end
def initialize_set(values)
def initialize_set(values) @deserialized_values = {} super end
def serialize_deserialized_values
def serialize_deserialized_values deserialized_values.each{|k,v| @values[k] = serialize_value(k, v)} end
def serialize_value(column, v)
Serialize the column value. Called before saving to ensure the serialized value
def serialize_value(column, v) unless v.nil? raise Sequel::Error, "no entry in serialization_map for #{column.inspect}" unless callable = model.serialization_map[column] callable.call(v) end end
def set_values(*)
def set_values(*) @deserialized_values ||= {} super end