Clear the cache of original deserialized values after saving so that it doesn’t show the column is modified after saving.
# File lib/sequel/plugins/serialization_modification_detection.rb, line 35 35: def after_save 36: super 37: @original_deserialized_values = {} 38: end
Detect which serialized columns have changed.
# File lib/sequel/plugins/serialization_modification_detection.rb, line 41 41: def changed_columns 42: cc = super 43: deserialized_values.each{|c, v| cc << c if !cc.include?(c) && original_deserialized_value(c) != v} 44: cc 45: end
For new objects, serialize any existing deserialized values so that changes can be detected.
# File lib/sequel/plugins/serialization_modification_detection.rb, line 51 51: def initialize_set(values) 52: super 53: serialize_deserialized_values 54: end
Return the original deserialized value of the column, caching it to improve performance.
# File lib/sequel/plugins/serialization_modification_detection.rb, line 57 57: def original_deserialized_value(column) 58: (@original_deserialized_values ||= {})[column] ||= deserialize_value(column, self[column]) 59: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.