module Sequel::Plugins::SerializationModificationDetection::InstanceMethods
def after_save
Clear the cache of original deserialized values after saving so that it doesn't
def after_save super @original_deserialized_values = {} end
def changed_columns
def changed_columns cc = super deserialized_values.each{|c, v| cc << c if !cc.include?(c) && original_deserialized_value(c) != v} cc end
def initialize_set(values)
For new objects, serialize any existing deserialized values so that changes can
def initialize_set(values) super serialize_deserialized_values end
def original_deserialized_value(column)
def original_deserialized_value(column) (@original_deserialized_values ||= {})[column] ||= deserialize_value(column, self[column]) end