Sha256: 9e7055c83df4140843aa406ad05abcdc3fc56d3775b152e58f304d9870466c1d
Contents?: true
Size: 762 Bytes
Versions: 1
Compression:
Stored size: 762 Bytes
Contents
require "ar_transaction_changes/version" require "active_record" module ArTransactionChanges def _run_commit_callbacks super ensure @transaction_changed_attributes = nil end def _run_rollback_callbacks super ensure @transaction_changed_attributes = nil end def transaction_changed_attributes @transaction_changed_attributes ||= HashWithIndifferentAccess.new end def _write_attribute(attr_name, value) attr_name = attr_name.to_s old_value = read_attribute(attr_name) ret = super(attr_name, value) new_value = read_attribute(attr_name) unless transaction_changed_attributes.key?(attr_name) || new_value == old_value transaction_changed_attributes[attr_name] = old_value end ret end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ar_transaction_changes-1.1.5 | lib/ar_transaction_changes.rb |