Module: Sequel::Plugins::ModificationDetection::InstanceMethods
- Defined in:
- lib/sequel/plugins/modification_detection.rb
Instance Method Summary collapse
-
#after_update ⇒ Object
Recalculate the column value hashes after updating.
-
#calculate_values_hashes ⇒ Object
Calculate the column hash values if they haven’t been already calculated.
-
#changed_columns ⇒ Object
Detect which columns have been modified by comparing the cached hash value to the hash of the current value.
Instance Method Details
#after_update ⇒ Object
Recalculate the column value hashes after updating.
43 44 45 46 |
# File 'lib/sequel/plugins/modification_detection.rb', line 43 def after_update super recalculate_values_hashes end |
#calculate_values_hashes ⇒ Object
Calculate the column hash values if they haven’t been already calculated.
49 50 51 |
# File 'lib/sequel/plugins/modification_detection.rb', line 49 def calculate_values_hashes @values_hashes || recalculate_values_hashes end |
#changed_columns ⇒ Object
Detect which columns have been modified by comparing the cached hash value to the hash of the current value.
55 56 57 58 59 60 61 62 63 |
# File 'lib/sequel/plugins/modification_detection.rb', line 55 def changed_columns cc = super changed = [] v = @values if vh = @values_hashes (vh.keys - cc).each{|c| changed << c unless v.has_key?(c) && vh[c] == v[c].hash} end cc + changed end |