Method: Sequel::Plugins::ModificationDetection::InstanceMethods#changed_columns
- Defined in:
- lib/sequel/plugins/modification_detection.rb
#changed_columns ⇒ Object
Detect which columns have been modified by comparing the cached hash value to the hash of the current value.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/sequel/plugins/modification_detection.rb', line 60 def changed_columns changed = super if vh = @values_hashes values = @values changed = changed.dup if frozen? vh.each do |c, v| match = values.has_key?(c) && v == values[c].hash if changed.include?(c) changed.delete(c) if match else changed << c unless match end end end changed end |